openwrt下crontab定时任务实现

openwrt下crontab定时任务实现

我的需求是需要加个定时执行脚本来监控智能网关运行的进程,一旦网关进程异常关闭,就能立即把它拉起来,从而保证网关运行的可靠性,这里我们用到了crontab服务,OpenWRT系统默认已经加入了crond,仅仅是没有配置默认配置參数,致使服务起不来,下面我们来说如何先来实现每分钟往/etc/config/中test文件中写入"hello world!"

1.编写执行脚本check_process.sh

(1) 在/usr/bin/目录下新建check_process.sh脚本文件:

echo “hello world!” >> /etc/config/test
在这里插入图片描述
(2) 更改check_process.sh脚本执行权限
chmod 755 check_process.sh

2.配置个人的crontab文件

/etc/crontabs/目录下新建root并输入这行:
*/1 * * * * /usr/bin/check_process.sh
以上意思是每1分钟执行绝对路径/usr/bin/目录下的check_process.sh脚本
在这里插入图片描述
后续想要编辑root文件可以直接输入crontab –e命令接口

3.开启contab服务

使能contab服务命令:/etc/init.d/cron enable
启动或重启contab服务命令:/etc/init.d/cron start/restart

4.测试

输入tail -f /etc/config/test每隔1分钟打印如下:
在这里插入图片描述以上可以实现了每分钟往/etc/config/中test文件中写入"hello world!"的定时任务,下面我们看看如何实现定时监测智能网关的主进程cbox.

5.测试

这里只需要修改下/usr/bin/目录下的check_process.sh脚本文件,如下:
#!/bin/bash

flag=$(ps | grep cbox | grep -v “grep” | wc -l)
if [ $flag = “1” ]
then
echo “cbox RUNNING!”
else
/etc/init.d/cboxd start
fi
是不是很简单!
注意:如果定时任务不执行,请删除该脚本文件中的#!/bash再进行测试。
如果有其他问题欢迎大家相互讨论和学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值