服务器配置定时脚本 Crontab + Python

一、crontab的安装

默认情况下,CentOS 7中已经安装有crontab,如果没有安装,可以通过yum进行安装。

yum install crontabs

二、crontab的定时语法说明

corntab中,一行代码就是一个定时任务,其语法结构可以通过这个图来理解。

在这里插入图片描述

 字符含义如下:

* 代表取值范围内的数字
/ 代表"每"
- 代表从某个数字到某个数字
, 代表离散的取值(取值的列表)  

一些常用的时间写法如下:

* * * * * //每分钟执行
* */4 * * * //每4小时执行
0 4 * * * //每天4点执行
0 12 */2 * * //每2天执行一次,在12点0分开始运行
* * * * 0 //每周日执行
* * * * 6,0 //每周六、日执行
5 * * * * //每小时的第5分钟执行

三、配置定时执行python脚本

由于是需要定时执行python脚本,所以应该使用如下命令:

python xxx.py

但是非常重要的一点是要用绝对路径写到命令,否则定时运行失败。因此我们需要先弄清楚python的具体路径。

我们在服务器上有python2和python3两个版本,通过如下命令来查看其安装路径。

# which python //查看系统默认安装的python2的路径
/usr/bin/python
# which python3 //查看自行安装的python3的路径
/usr/bin/python3

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

 crontab -l  # 列出现有定时任务

对crontab进行编辑

crontab -e # 进入 vim 编辑模式

在其中增加如下的内容(每周5,10:30执行的py脚本),注意python的版本用到了python3

30 10 * * 5 /usr/bin/python3 /var/lib/jenkins/workspace/Algorithm_autotest/Order_food.py 

完成后,重启一下crontab的服务即可。

service crond restart

​​​​​​​

 注意:在编写py脚本时,其中如果有对文件进行操作,也应该使用绝对路径。

文件绝对路径通过此命令找到

find / -name  xxx.py

通过此命令查看运行状态

cat /var/log/cron

为啥 crontab 叫 crontab ?

据 Unix系统 cron 的作者 Ken Thompson 表示,cron 在希腊语里是一个代表时间 time 的前缀,tab 则表示 table,因此:

cron + tab = time table 即时间表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值