openwrt cron添加定时启动任务

1. 修改启动脚本/etc/init.d/cron
/etc/rc.d/S50cron为/etc/init.d/cron的链接
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org

START=50

USE_PROCD=1
PROG=/usr/sbin/crond

validate_cron_section() {
    uci_validate_section system system "${1}" \
        'cronloglevel:uinteger'
}

start_service () {
    [ -z "$(ls /etc/crontabs/)" ] && return 1

    loglevel=$(uci_get "system.@system[0].cronloglevel")

    [ -z "${loglevel}" ] || {
        /sbin/validate_data uinteger "${loglevel}"
        [ "$?" -eq 0 ] || {
            echo "validation failed"
            return 1
        }
    }

    mkdir -p /var/spool/cron
    ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null

    procd_open_instance
    procd_set_param command "$PROG" -f -c /etc/crontabs -l ${loglevel:-5}
    procd_close_instance
}

service_triggers()
{
    procd_add_validation validate_cron_section
}


2. 添加默认启动程序/etc/crontabs/root
0 9 * * * killall zllgateway



简单记录一下crontab的用法。
crontab -l
列出当前的默认计划任务列表

crontab -r
删除当前的默认计划任务列表

crontab -e
启用vi修改当前的默认计划任务列表

crontab后面还可以跟FILE参数,指定计划任务列表

然后是计划任务列表的格式:

[minute] [hour] [day of month] [month] [day of week] [program to be run]
其中各个参数的取值范围是:
minute(0-59)
hour(0-23)
day of month(1-31)
month(1-12)
day of week(0-7,0 or 7 is Sun)

每个参数里的取值可以有4种间隔符:
* 表示任意
- 表示范围
, 表示枚举多个值
/ 表示每隔
例如:

周一到周五每天晚上23:30执行ruijieclient -k
30 23 * * 1-5 /bin/ruijieclient -k

每天每隔10分钟执行date
*/10 * * * * date

另外每次执行完成任务后系统会发送信息给你,如果你不想收,可以在每条执行语句后面加:
>> /dev/null 2>&1

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值