我想创建一个 cron 作业,每天在指定的时间执行并重新启动 ubuntu 服务器。
我尝试仅在 cron 中添加reboot
,但它不起作用,而当我尝试从 CLI 执行它时它可以工作。
请指教,我应该在 cron 中添加什么命令,以便它每天在特定时间重新启动服务器。
答案1
您需要运行以下命令:
/sbin/shutdown -r now
具有 root 权限。执行此操作的方法是使用 root 的 crontab,而不是用户 crontab。sudo
在通常的 crontab 命令之前执行的操作是:
sudo crontab -e
提示:您可以将 shell 的标准编辑器切换为crontab
和visudo
之类的编辑器sudo update-alternatives --config editor
,然后选择您喜欢的编辑器。
编辑 crontab 您应该将以下行添加到您的文件中:
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
@daily root /sbin/shutdown -r now
如果您使用以下命令进行编辑,则必须删除“root”:sudo crontab -e。
这里的“@daily”是每天午夜的快捷方式(相当于“0 0 * * *”)。顺便问一下 - 你为什么要每天重启?
编辑-参见https://help.ubuntu.com/community/CronHowto以下内容:“Crontab 命令通常存储在属于您的用户帐户的 crontab 文件中(并以您的用户权限级别执行)。如果您想定期运行需要管理权限的命令,请编辑根 crontab 文件:sudo crontab -e”
编辑-感谢@charlesbridge的评论-编辑答案以包含完整路径
答案2
就我的情况而言,最好的工作方法是
systemctl reboot