%PDF- %PDF-
Direktori : /proc/self/root/opt/webdir/bin/ |
Current File : //proc/self/root/opt/webdir/bin/pt-slave-restart |
#!/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