使用crontab设置定时任务(定时执行脚本)

[root@localhost ~]# crontab -e
# 每周星期5凌晨4点10分执行
10 4 * * 5 /bin/sh shell脚本磁盘路径 >/dev/null 2>&1

# 每天凌晨3点执行一次
0 3 * * * /bin/sh shell脚本磁盘路径 >/dev/null 2>&1

# 每1分钟执行1次
*/1 * * * * /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
 
# 每15秒执行一次
* * * * * sleep 14; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 29; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 44; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 59; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1

# 每10秒执行一次(注意:不要使用10、20、30、40、50这种写法,这样会跳过某分钟0秒至10秒这一段时间)
* * * * * sleep 9;  /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 19; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 29; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 39; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 49; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 59; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
 
# 每5秒执行一次
* * * * * sleep 4;  /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 9;  /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 14; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 19; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 24; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 29; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 34; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 39; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 44; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 49; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 54; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1
* * * * * sleep 59; /bin/sh shell脚本磁盘路径 >/dev/null 2>&1

# 每1分钟执行1次(PHP脚本)
*/1 * * * * /program/php/bin/php PHP脚本磁盘路径 >/dev/null 2>&1
[root@localhost ~]#
 
 
 
说明:
 
1、定时任务结尾加入“>/dev/null 2>&1”可以将执行任务过程中所产生的输出全部屏蔽。
 
2、保存crontab之后会即时生效,但由于最小粒度是分钟,故新加入的定时任务可能需要等待两分钟才会执行,如果需要立即执行定时任务可以执行“systemctl restart crond.service”重启cron。
 
3、crontab不仅能执行shell脚本,还能执行PHP脚本,且用于定时任务的PHP脚本代码和普通网页的PHP脚本代码没有太大区别(注意:由于是命令行执行PHP脚本,所以没有$_SERVER变量)。
 
 
 
注意事项:
 
1、无论是crontab还是脚本逻辑代码,涉及到路径的内容最好使用完整磁盘路径,这样可以避免很多不必要的问题。

Copyright © 2024 码农人生. All Rights Reserved