如何在openwrt中使用crontab在特定时间只运行一次reboot命令?

如何在openwrt中使用crontab在特定时间只运行一次reboot命令?

问题描述:

我想重新启动我的设备,它具有Openwrt操作系统。我希望命令使用crontab运行并且只执行一次。如何在openwrt中使用crontab在特定时间只运行一次reboot命令?

如果你只想运行一次,那么更好的ssh openwrt然后去终端并输入reboot。这将重新启动系统。

如果你想在特定的时间重启重启,那么你可以去cronjob。它具有以下语法

*  *  * * *  command to be executed 
-  -  - - - 
|  |  | | | 
|  |  | | +----- day of week (0 - 6) (Sunday=0) 
|  |  | +------- month (1 - 12) 
|  |  +--------- day of  month (1 - 31) 
|  +----------- hour (0 - 23) 
+------------- min (0 - 59) 

使用您的OpenWrt以下命令行命令打开基于上述语法,你可以告诉何时运行脚本

EG的crontab

crontab -e //-e stands for edit 

现在:要在每年1月1日运行,您可以编写以下命令:

* * 1 1 * reboot 

保存文件,它会做的伎俩。

我假设只说一次,你的意思是一天只有一次?如果是这种情况,请执行以下操作:

crontab -e 

在那里添加以下行并保存该文件。

15 3 * * * reboot 

现在重新启动cron服务

/etc/init.d/cron restart 

将在上午03时15分路由器日常重启。

+0

嗨,我的意思只有一次,该设备。不是每天一次 –

+0

有很多方法。使用适合你的东西。就像你可以使用自我删除脚本一样。该脚本将执行您的命令并最终删除自己。在脚本的末尾使用rm - “$ 0”。它会自行删除。另一种方法是,您也可以在执行命令后创建一个文件,然后检查该文件是否存在。如果是这样,请退出脚本。 –

的OpenWrt的crontab不支持@reboot,所以你可以用一分钟一次的命令:

*****

,然后在你的脚本检查要执行,如果有壳上运行没有它的实例。

但是,您也可以使用rc.local并将脚本放在上面。只要不要忘记让rc.local可执行权限,有时它需要更改权限。

如果它是服务,另一个选项也在/etc/init.d/中运行。