使用终端或bash文件,如何配置Ubuntu每天(例如)凌晨3点重新启动?
换句话说,我想安排通过终端自动重启。
我还没有在Google或AskUbuntu上找到与此相关的任何东西,而且我一般对Ubuntu还是陌生的(刚刚得到了我的新Raspberry Pi)。
使用终端或bash文件,如何配置Ubuntu每天(例如)凌晨3点重新启动?
换句话说,我想安排通过终端自动重启。
我还没有在Google或AskUbuntu上找到与此相关的任何东西,而且我一般对Ubuntu还是陌生的(刚刚得到了我的新Raspberry Pi)。
Answers:
使用crontab -e
命令编辑crontab条目(默认情况下,这将编辑当前登录用户crontab)并添加以下行:
0 3 * * * echo $PASSWD | sudo -S reboot
#change $PASSWD with your password
保存文件,然后使用检查新的crontab条目crontab -l
。
如果只想使用:
0 3 * * * sudo reboot
作为crontab,这将无法正常工作,您应该查看这篇文章以了解如何使其正常工作。
或者,只需reboot
使用sudo crontab -e
以下命令将crontab添加到root用户的crontab文件中即可提供命令的完整路径:
0 3 * * * /sbin/reboot
reboot
命令路径。否则将无法正常工作。查看我的新修改。
请注意,将明文密码放在文本文件中不是一个好主意,因此最好从一开始就以root用户身份运行此作业。通常,我不想通过crontab
命令编辑root的crontab ,而将条目/var/spool/cron/crontabs
保留在一个有点神秘的位置,我宁愿在中明确输入它们/etc/cron.d
。cron.d中的条目作为系统crontab条目运行,被视为配置文件,因此它们应在系统重新引导,更新和升级后仍然存在,并且您可以显式指定正在运行的用户:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
如果您不需要特定时间,而只是希望系统每天重新启动一次,则在其中添加可执行文件或脚本 /etc/cron.daily
,它将在预定时间(默认为系统时间上午6:25)自动运行:
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
请注意,我设置了5分钟警告,而不是仅在没有警告的情况下重新引导系统,因此,如果有人登录,他们就有机会保存自己的工作,甚至可以通过中断关机sudo shutdown -c
,而不用拉扯系统。从他们下面。如果您想发出更充分的警告,则可以相应地进行调整(例如,shutdown -h 60
在2:00 AM 使用并运行该命令,并且会向用户提供慷慨的1小时警告)。
这是基于我过去的经验;在某些时候,当crontab条目运行时,您将登录工作,如果它重启而没有警告,您将是一只可悲的熊猫。
为什么要-或需要这样做?尽管这很简单,但是几乎可以肯定有一个更好的Linux解决方案,它不需要重启。与Windows不同,基于Linux的OS除了内核升级外,几乎不需要重启任何东西。
如果您解释您要达到的目标,我们可能会为您提供更好的帮助。
echo $PASSWD