我有一个通过 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
是不是通过关机(即关机 -r)来调用重启,重启 --force 的操作会有什么不同吗?(它确实按照锡纸上说的做了..)