Your IP : 3.144.26.77


Current Path : /proc/9787/root/opt/webdir/bin/
Upload File :
Current File : //proc/9787/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