Ubuntu定时重启

使用终端或bash文件,如何配置Ubuntu每天重启(例如)凌晨3点?
换句话说,我想通过终端安排自动重启。

一、准备

1、sudo apt-get install cron
2、sudo service cron start
3、在root下输入:crontab -e
3、可能会提示你:
no crontab for root - using an empty one
然后会叫你“Select a editor …”下面有几个选项,就是叫你选择编辑器。(选vim.tiny)
或直接进入编辑页面。
4、进入crontab编辑页面之后就直接"shift+:",然后输入wq保存即可。然后一个新的crontab就生成了!

二、编写crontab条目

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

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

保存文件并使用

crontab -l

检查新的crontab条目。
2.
如果您只想使用:

0 3 * * * sudo reboot

作为crontab,这不能正常工作

3、
或者,简单地将crontab添加到root用户的crontab文件中,使用

sudo crontab -e

提供reboot命令的完整路径:

0 3 * * * /sbin/reboot

注意:如果使用 crontab -e(没有sudo),则不能成功。

三、优化

请注意,将明文密码放在文本文件中并不是一个好主意,因此最好让这个作业从一开始就以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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值