每天重新启动服务器cron?


14

我想创建一个cron作业,该作业在指定的时间执行daiy,并重新启动ubuntu服务器。

我尝试reboot仅在cron中添加,但它不起作用,而当我尝试从CLI执行时,它可以工作。

请告知,我应该在cron中添加什么命令,以便它每天在特定时间重新引导服务器。


请问为什么您需要每天重新启动服务器?这向我表明您做错了事。大概。
gertvdijk 2013年

2
@gertvdijk我遇到了需要定期重新启动计算机的情况。大约30小时的正常运行时间后,专有软件会导致严重的内存泄漏,诸如此类。
jrg 2013年

1
游戏服务器(咳嗽)Minecraft(咳嗽)通常会漏油或以某种方式进入数百个进程。
卡兹·沃尔夫


如果问题是某些应用程序随着时间的推移正在泄漏内存,那么更好的解决方案是仅重新启动该应用程序服务。
索伦

Answers:


26

您需要运行以下命令:

/sbin/shutdown -r now

与根pirviliges。这样做的方法是使用root的crontab,而不是您的用户crontab。sudo在通常的crontab命令之前执行A :

sudo crontab -e

提示:可以将Shell的标准编辑器切换为诸如crontabvisudosudo update-alternatives --config editor然后选择所需的编辑器。

编辑crontab时,您应该在文件中添加以下行:

# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command  

@daily root /sbin/shutdown -r now

这里的“ @daily”是每天午夜(相当于“ 0 0 * * *”)的快捷方式。顺便说一句-为什么要每天重启?

编辑- 有关以下内容,请参见https://help.ubuntu.com/community/CronHowto:“ Crontab命令通常存储在属于您的用户帐户的crontab文件中(并以用户的权限级别执行)。定期运行需要管理权限的命令,编辑crontab根文件:sudo crontab -e“

编辑-感谢@charlesbridge的评论-编辑的答案包括完整路径


2
使用cron,使用完整路径始终是最安全的:/sbin/shutdown -r
charlesbridge

1
时间日期设置和命令之间的根是什么?现在不是root用户cronfile中的@daily / sbin / shutdown -r吗?TIA
Ominus,2014年

3
以下命令具有相同的效果:/sbin/reboot
马克·范豪森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.