【Linux学习】crontab

crontab 是linux定时任务机制

如何写crontab任务

crontab -e 进入crontab编辑模式

1
2
3
4
[root@VM_0_8_centos ~]# crontab -e

*/1 * * * * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &
0 0 * * * /usr/local/qcloud/YunJing/YDCrontab.sh > /dev/null 2>&1 &

我这里看到有两条crontab任务,格式都一致,我们来看下crontab任务的格式

1、

0 0 * * * /usr/local/qcloud/YunJing/YDCrontab.sh > /dev/null 2>&1 &

2、

前面5个部分是关于时间的配置

第一个表示小时,这里表示0分时刻
第二个表示小时,这里写0表示0时刻,也就是每天晚上0点时刻
第三个表示每个月份中的第几日
第四个表示一年中的月份
第五个表示每个星期中的第几天

当以上时间数字为具体数字的时候,则表示第多少时刻执行
当以上时间数字为*的时候,则表示所有时刻执行
当以上时间数字为n/2的时候,则表示每隔时间执行

3、

/usr/local/qcloud/YunJing/YDCrontab.sh 这个表示要执行的定时脚本

4、

我们举个例子:

1
0 * * * * node main.js

这个表示每个月每天每个小时的0分的时刻执行 node main.js

如 1:00 2:00 3:00 等等都会定时执行脚本的

再看下

1
10 2 * * * node main.sj

这个表示每个月每天2:10的时刻执行脚本

继续看下

1
0 */3 * * * node main.js

这个表示每个月每天每三个小时就执行脚本

crontab的其他命令

1、

crontab -e
进入编辑模式

2、

查看crontab的运行记录

1
2
3
4
5
6
7
[root@VM_0_8_centos ~]# tailf /var/log/cron
Nov 14 19:13:01 VM_0_8_centos CROND[29602]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &)
Nov 14 19:14:01 VM_0_8_centos CROND[29805]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &)
Nov 14 19:15:01 VM_0_8_centos CROND[30016]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &)
Nov 14 19:16:01 VM_0_8_centos CROND[30197]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &)
Nov 14 19:17:01 VM_0_8_centos CROND[30371]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &)
Nov 14 19:18:01 VM_0_8_centos CROND[30547]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &)

坚持原创技术分享,您的支持将鼓励我继续创作!