rv1126 crond定时任务

rv1126 crond定时任务 2023-11-28 14:50:05 259

1简介

对于嵌入式设备而言,一般用户定义的 crontab 文件存放在“/var/spool/cron/crontabs/”目录下,文件名跟用户名一样,嵌入式设备一般是root用户,所以文件名就是root。

2 crontab文件格式

每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command

其中:

  • minute: 表示分钟,可以是从0到59之间的任何整数。
  • hour:表示小时,可以是从0到23之间的任何整数。
  • day:表示日期,可以是从1到31之间的任何整数。
  • month:表示月份,可以是从1到12之间的任何整数。
  • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
  • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:

  • 星号( * ):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  • 逗号( , ):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
  • 中杠( - ):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
  • 正斜线( / ):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

3 crontab命令详解

1.命令格式

crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]

2.命令功能

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。

3.命令参数

  • -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
  • file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
  • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
  • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
  • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
  • -i:在删除用户的crontab文件时给确认提示。

4.使用方法

修改开机脚本 /etc/init.d/rcS,添加下面命令:

mkdir -p /var/spool/cron/crontabs
cp -p /root/root /var/spool/cron/crontabs
chmod 777 /var/spool/cron/crontabs/root
chown root /var/spool/cron/crontabs/root
chgrp root /var/spool/cron/crontabs/root
crond -f &
echo "cp cron config file to /var/spool/cron/crontabs"

通过crontab -e可以修改root文件,每次修改之后,需要拷贝到/root/或者其他开机之后不会清掉的路径,然后通过开机脚本,每次开机复制到var下,因为var下面的文件重启会清掉。

5.常用实例

1.每10秒执行定时任务

* * * * * /data/crontab.sh
* * * * * sleep 10; /data/crontab.sh
* * * * * sleep 20; /data/crontab.sh
* * * * * sleep 30; /data/crontab.sh
* * * * * sleep 40; /data/crontab.sh
* * * * * sleep 50; /data/crontab.sh

2.每1分钟执行一次myCommand

* * * * * myCommand

3.每5分钟执行一次myCommand

*/5 * * * *  myCommand

4.每小时的第3和第15分钟执行

3,15 * * * * myCommand

5.在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * myCommand

6.每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2  *  * myCommand

7.每周一上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 myCommand

8.每晚的21:30重启smb

30 21 * * * /etc/init.d/smb restart

9.每月1、10、22日的4 : 45重启smb

45 4 1,10,22 * * /etc/init.d/smb restart

10.每周六、周日的1 : 10重启smb

10 1 * * 6,0 /etc/init.d/smb restart

11.每天18 : 00至23 : 00之间每隔30分钟重启smb

0,30 18-23 * * * /etc/init.d/smb restart

12.每星期六的晚上11 : 00 pm重启smb

0 23 * * 6 /etc/init.d/smb restart

13.每一小时重启smb

* */1 * * * /etc/init.d/smb restart

14.晚上11点到早上7点之间,每隔一小时重启smb

23-7/1 * * * /etc/init.d/smb restart
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 1 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区