如何配置 Ubuntu 每天在指定时间重新启动?

如何配置 Ubuntu 每天在指定时间重新启动?

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

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

我在 Google 或 AskUbuntu 上都找不到与此相关的任何内容,而且我对 Ubuntu 还不太熟悉(刚拿到了我的新 Raspberry Pi)。

答案1

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

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

保存文件并使用以下方法检查新的 crontab 条目crontab -l

如果您只想使用:

0 3 * * * sudo reboot

作为 crontab,这不能正常工作,你应该检查这个帖子看看你如何让它工作。

或者,只需将 crontab 添加到 root 用户的 crontab 文件中,并提供reboot命令的完整路径即可sudo crontab -e

0 3 * * * /sbin/reboot

答案2

请注意,将明文密码放在文本文件中并不是一个好主意,因此最好从一开始就以 root 身份运行此作业。通常,我更喜欢在 中明确输入条目,而不是通过命令编辑 root 的 crontab 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 使用并运行命令,您将为用户提供 1 小时的慷慨警告)。

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

答案3

你为什么想要——或者需要怎么做?虽然做起来很简单,但 Linux 肯定有更好的解决方案,不需要重启。与 Windows 不同,基于 Linux 的操作系统几乎不需要重启,除了内核升级。

如果您解释一下您想要实现的目标,我们可能会更好地帮助您。

相关内容