Your IP : 52.15.69.226
#!/bin/bash
# restart slave sql process if error occure
# restart MySQL slave for defined replication errors
#
# chkconfig: - 20 80
# description: Restart replication
### BEGIN INIT INFO
# Provides: pt-heartbeat
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: $remote_fs
# Should-Stop: $remote_fs
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start and stop percona pt-slave-restart daemon
### END INIT INFO
act=$1 # action: stop or start
[[ -z $act ]] && act=start
CONF=/etc/percona-toolkit/pt-slave-restart.conf
DEFAULTS=/root/.my.cnf
CMD=/usr/bin/pt-slave-restart
SHARD=$(head -1 $CONF| sed -e 's/^#\s\+//')
PID=$(egrep -o 'pid=\s*\S+' $CONF | grep -v '^#' | awk -F'=' '{print $2}' )
LOG=$(grep -w 'log' $CONF | awk -F'=' '{print $2}')
if [[ $act = "start" ]]; then
if [[ -f $PID ]]; then
echo "Warning: pt-slave-restart for $SHARD already running (PID: $(cat $PID))"
else
$CMD --config $CONF --daemonize -v --defaults-file $DEFAULTS
echo "Start pt-slave-restart for $SHARD"
fi
fi
if [[ $act = "stop" ]]; then
[[ -f $PID ]] && kill $(cat $PID)
echo "Stop pt-slave-restart for $SHARD"
rm -f $PID
fi
if [[ $act = "restart" ]]; then
echo_err=done
# stop service
echo -n "Stop pt-slave-restart for $SHARD .. "
[[ -f $PID ]] && kill $(cat $PID)
[[ $? -gt 0 ]] && echo_err=error
echo $echo_err
rm -f $PID
# delete old log files
rm -f $LOG
# start service
echo_err=done
echo -n "Start pt-slave-restart for $SHARD .. "
$CMD --config $CONF --daemonize -v
[[ $? -gt 0 ]] && echo_err=error
echo $echo_err
fi
if [[ $act = "status" ]]; then
if [[ -f $PID ]]; then
pid_num=$(cat $PID)
is_running=$(ps -ef | grep $pid_num | grep -vc grep)
if [[ $is_running -gt 0 ]]; then
echo "pt-slave-restart for $SHARD is running (PID: $pid_num)"
else
echo "pt-slave-restart for $SHARD isn't running, but PID file exist $PID"
fi
else
echo "pt-slave-restart for $SHARD isn't running"
fi
fi