我有一個運行腳本來通過 Rsync 備份伺服器,運行該腳本後我希望伺服器重新啟動。
我的腳本在凌晨 3 點以 root 身份從 Crontab 運行。
#!/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
是否可能透過 shutdown (即 shutdown -r)呼叫重新啟動,reboot --force 的操作有何不同? (它的作用就像罐頭上所說的那樣......)