crontab命令学习

介绍

Linux crontab是用来定期执行程序的命令。

注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,可以重启 cron 来马上执行。

1
2
3
4
5
6
7
8
9
10
11
重载
systemctl reload crond.service

启动
systemctl start crond.service

停止
systemctl stop crond.service

重启服务
systemctl restart crond.service

使用方法

1
crontab [ -u user ] { -l | -r | -e }

-u user 设定指定 user

参数说明

  • -u user :设定指定 user
  • -e : 编辑时程表
  • -r : 删除时程表
  • -l : 列出时程表

时间格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
* * * * * command
M H D m d command
分 时 天 月 周 command

M: 分(0-59)
H:时(0-23)
D:天(1-31)
m: 月(1-12)
d: 周(0-6) 0为星期日

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

例子

1
2
3
4
5
6
7
8
9
每4小时执行:
* */4 * * * 命令

*/2 * * * * python /data5/crontest.py >> /data5/crontest.py.log 2>&1
意思是每个两分钟就用python执行/data5目录下的crontest.py,将日志输出值crontest.py.log中

程序crongtest.py中的输入到指定文件的数据是不会输入到该log文件中

2>&1的意思是把错误的输出也输出到标准输出(2表示错误,2>表示错误输出,&表示等同于,1表示正确),因此如果运行出错也会把错误输出到之前定义的log中。

参考文章

1.阿里云CentOS 7.6 crontab定时任务

2.Linux crontab 命令

-------------The End-------------