2013年8月27日星期二

dd-wrt计划任务cron

由于CRON执行命令,至少需要当前时间,DD-WRT的设备的日期和时间通常应设置运行在【NTP】。有时间和日期设置是如此重要,对NTP的配置是直接在位于下基本/设置基本法第一次设置页。

您可以通过GUI查看到当前的日期和时间:

【状态】->【路由器信息】下的【当前时间】(English:Status/Router/Current Time)
您还可以【管理】->【命令】->【指令解释器】(即shell)界面中输入'date'命令。
确定Cron/Crond 为启用状态.



只需要在“管理”页面中,开启cron。然后输入你要执行的开、关Radio的命令:

40 0-6 * * *  root /usr/sbin/wl radio off
0 8 * * *  root /usr/sbin/wl radio on
基本和Linux下的命令一致,只是要注意的是,要在执行的任务前面加上root,才能真正执行。

第一行的含义是在每天晚上12点40到清晨6点40,每隔一个小时执行一次关闭无线的命令。为什么要执行6次呢?因为本人有时候是网迷

,cron执行关闭后,我还会手工打开无线。所以多关闭几次折磨自己。
第二行的含义是在早上8点整打开路由器的无线发射。

分钟、小时、第几天、第几月、每周的第几天
# +---------------- 分钟 (0 - 59)
# |  +--------------小时 (0 - 23)
# |  |  +-----------日 (1 - 31)
# |  |  |  +-------- 月 (1 - 12)
# |  |  |  |  +------每周的第几天 (0 - 6) (周日=0 或 7)
# |  |  |  |  |
*/5 * * * * root /jffs/auto3322.sh
# 每5分钟执行一次
# chmod 777 auto3322.sh

linux下面有atd和crond两种计划任务,其中,atd服务使用的at命令只能执行一次,而crond服务使用的crontab定义的命令,是循环作

用的,所以crond才符合我们的要求。
 crontab支持两种状态:一、直接编写计划任务;二、使用目录的方式,放在目录里面的都会定时执行。

在#!/bin/sh的情况下,source不成功,不会运行source后面的代码。
在#!/bin/bash的情况下,虽然source不成功,但是还是运行了source后面的echo语句。