如何配置Ubuntu在给定时间每天重启?

使用终端或bash文件,如何配置Ubuntu每天重启(例如)凌晨3点?

换句话说,我想通过终端安排自动重启。

我无法在Google或AskUbuntu上找到与此相关的任何内容,而且我对Ubuntu一般都是新手(刚刚获得了我的新Raspberry Pi)。

使用crontab -e命令编辑crontab条目(默认情况下,这将编辑当前登录用户crontab)并添加以下行:

 0 3 * * * echo $PASSWD | sudo -S reboot #change $PASSWD with your password 

保存文件并使用crontab -l检查新的crontab条目。

如果您只想使用:

 0 3 * * * sudo reboot 

作为crontab,这不能正常工作,你应该检查这篇文章 ,看看你怎么能让它工作。

或者,简单地将crontab添加到root用户的crontab文件中,使用sudo crontab -e提供reboot命令的完整路径:

 0 3 * * * /sbin/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中断sudo shutdown -c ,而不是将系统从它们下面拉下来。 如果你想提供更充足的警告,你可以相应地调整这些(例如,使用shutdown -h 60并在凌晨2:00运行命令,你会给用户一个1小时的慷慨警告)。

这是基于我过去的经验; 在某些时候你在crontab条目运行时登录工作,如果它只是在没有警告的情况下重新启动你将会是一个非常悲伤的pandas。

你为什么要 – 或者要这样做? 虽然这很简单,但几乎可以肯定,Linux的更好解决方案不需要重启。 与Windows不同,基于Linux的操作系统除了内核升级之外几乎不需要重新启动。

如果你解释你想要达到的目标,我们可以帮助你做得更好。