Rsync 経由でサーバーをバックアップするために実行されるスクリプトがあり、そのスクリプトの実行後にサーバーを再起動したいと考えています。
私のスクリプトは午前 3 時に Crontab から root として実行されます。
#!/bin/bash
HOST="email"
RSYNC_OPTS="-a -v -v --progress --stats --delete"
RSYNC_DEST="10.0.0.10::$HOST"
BACKUP_LIST="/etc /home /root"
TIMESTAMP="/timestamp-bkup-start.chk"
TIMESTAMP2="/timestamp-bkup-stop.chk"
touch $TIMESTAMP
rsync $RSYNC_OPTS $TIMESTAMP $RSYNC_DEST
for BACKUP_ITEM in $BACKUP_LIST;
do
rsync $RSYNC_OPTS $BACKUP_ITEM $RSYNC_DEST
done
/etc/init.d/zimbra stop
sleep 60s
rsync $RSYNC_OPTS /opt $RSYNC_DEST
touch $TIMESTAMP2
rsync $RSYNC_OPTS $TIMESTAMP2 $RSYNC_DEST
echo `date +%Y%m%d%H%M` >> /var/log/reset
reboot
# $# shows number of args passed
# $1 to access first variable
#if [ $# -eq 1 ]; then
# if [ $1 = "withreboot" ]; then
# echo "rebooting...";
# echo `date +%Y%m%d%H%M` >> /var/log/reset
# /sbin/reboot
# fi
#fi
再起動ではなく init 6 の使用を試みました。/sbin/reboot を試しました。
また、リセット ログにエコーし、問題なく再起動を実行する別の基本スクリプトもあります。上記のスクリプトでは、サーバーは再起動しません。
私にはアイデアが尽きてしまったので、誰か何か理論をお持ちの方がいたら嬉しいです。
ありがとう、
ジョン
答え1
おそらく、reboot の呼び出しはシャットダウン (つまり、shutdown -r) 経由で行われ、reboot --force は異なる動作をするのでしょうか? (名前の通りの動作をします。)