#! /bin/bash if [ ! -f /run/keepalived.pid ] || [ ! -f /run/keepalived.pid.save ]; then echo "check keepalived.pid and run/keepalived.pid.save file not exists" exit 1 fi NOW_MAIN_PID=$(/usr/bin/cat /run/keepalived.pid) if [ -f /run/checkers.pid ]; then NOW_CHECKERS_PID=$(/usr/bin/cat /run/checkers.pid) else NOW_CHECKERS_PID=0 fi if [ -f /run/vrrp.pid ]; then NOW_VRRP_PID=$(/usr/bin/cat /run/vrrp.pid) else NOW_VRRP_PID=0 fi count=1; while read LINE do if [ $count = 1 ]; then if [ $NOW_MAIN_PID != $LINE ]; then echo "check main pid $LINE ...... [fail]" exit 1 fi echo "check main pid $LINE ...... [pass]" fi if [ $count = 2 ]; then if [ $NOW_CHECKERS_PID != $LINE ]; then echo "check checker pid $LINE ... [fail]" exit 1 fi echo "check checker pid $LINE ... [pass]" fi if [ $count = 3 ]; then if [ $NOW_VRRP_PID != $LINE ]; then echo "check vrrp pid $LINE ...... [fail]" exit 1 fi echo "check vrrp pid $LINE ...... [pass]" fi count=$[ $count + 1 ] done < /run/keepalived.pid.save exit 0