CentOS定时任务crontabs

1. 示例


  • 用 crontabs 服务设置每秒钟执行一次 python 脚本,打印内容重定向到日志文件。

如果当前系统没安装,就先

yum install crontabs

创建测试文件 /home/TestCts/task.py

import datetime
if __name__ == "__main__":
    print(datetime.datetime.now(),"执行了一次本程序")

执行脚本打印如下

[root@VM_0_13_centos TestCts]# python3 task.py
2021-06-21 11:11:13.157853 执行了一次本程序

用如下命令查看当前系统中的定时任务列表

[root@VM_0_13_centos TestCts]# crontab -l
*/5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &'

使用如下命令编辑任务列表

[root@VM_0_13_centos TestCts]# crontab -e

添加一个任务,每分钟执行一次 task.py 脚本,将结果输出到 task.log 。添加后任务列表如下。

*/5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &'
* * * * * /usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log

重启服务

[root@VM_0_13_centos TestCts]# systemctl restart crond.service

查看日志(需要等待计划任务执行后)

[root@VM_0_13_centos TestCts]# tail -f task.log
2021-06-21 11:19:01.969594 执行了一次本程序
2021-06-21 11:20:01.435678 执行了一次本程序
2021-06-21 11:21:01.777830 执行了一次本程序

2. 配置文件格式


配置文件内容格式如下

* * * * * /usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log

其代表意义及取值范围如下

格式*****Command
含义分钟小时日期月份星期命令
取值[0, 59][0, 24][1, 31][1, 12][1, 7]/

可使用特殊字符及含义

  • * 表示任何
  • / 表示间隔,“每”。
  • - 表示一段时间
  • , 表示离散时间

3. 举例说明


1. 普通案例

  1. 每 1 分钟执行一次
    * * * * * python3 task.py*/1 * * * * python3 task.py
  2. 每 5 分钟执行一次
    */5 * * * * python3 task.py
  3. 每小时的第 5 分钟执行一次
    5 * * * * python3 task.py
  4. 每天的 09:05 执行一次
    5 9 * * * python3 task.py
  5. 每月 3 号的 09:05 执行一次
    5 9 3 * * python3 task.py
  6. 每年 63 号的 09:05 执行一次
    5 9 3 6 * python3 task.py
  7. 星期三09:05 执行一次
    5 9 * * 3 python3 task.py

2. 稍复杂一点的案例

  1. 每月 3、13 号的 09:05 各执行一次
    5 9 3,13 * * python3 task.py
  2. 每月 3、13 号的 09:05、10:05、11:05 各执行一次
    5 9-11 3,13 * * python3 task.py
  3. 每月 3、13 号的 09:00-11:00 内每 15 分钟 各执行一次
    */15 9-11 3,13 * * python3 task.py

3. 每 x 秒执行方法

设置每10秒钟执行一次

* * * * * /usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log
* * * * * sleep 10; /usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log
* * * * * sleep 20; /usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log
* * * * * sleep 30;/usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log
* * * * * sleep 40;/usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log
* * * * * sleep 50;/usr/bin/python3 /home/TestCts/task.py >>/home/TestCts/task.log

.
.
.
.
.
.


桃花仙人种桃树,又摘桃花换酒钱_

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值