使用终端或 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 的操作系统几乎不需要重启,除了内核升级。
如果您解释一下您想要实现的目标,我们可能会更好地帮助您。