从脚本重启 Linux

mr_*_*lou 6 linux

我有一个备份脚本,每天通过 cron 作业执行。它从 FTP 服务器复制,并连接 USB 硬盘、数据库等。

在脚本的最后,我想重启Linux机器,所以我在脚本的最后加上:

reboot
Run Code Online (Sandbox Code Playgroud)

但是第二天输入正常运行时间显示它没有重新启动。cron 作业由 root 用户执行,因此我不需要将 sudo 或 su 放在命令前面,afaik。因此,我尝试了该命令的其他变体,例如:

shutdown -t 10 -r
shutdown -r now
/sbin/shutdown -t 10 -r
/sbin/shutdown -r now
/sbin/reboot
Run Code Online (Sandbox Code Playgroud)

当然一次尝试一次,并不是所有的上述 5 行都接踵而至。PC只是不重新启动。

有没有人对此有任何想法?

小智 4

我发现(在 Raspbian 上测试)关闭命令按预期工作,但关键是调用脚本不得在计时器到期之前退出。所以我添加了一个睡眠命令:

shutdown --reboot 1 "System rebooting in 1 minute"
sleep 90
Run Code Online (Sandbox Code Playgroud)