crontab 定时写法整理

前言

目前 Hadoop 、Hive 及 Spark 脚本需要用定时脚本,任务调度使用的是 crontab 的任务调度。

说明

crontab 使用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设置自己的时程表。

服务管理

/etc/init.d/crond  status
/etc/init.d/crond  restart
/etc/init.d/crond  start/stop/restart/reload

使用方式

crontab  file  [- u  user]  #用指定的文件代替目前的 crontab
crontab  [-u  user]  #用标准输入替代目前的 crontab
crontab  -l  [user]  #列出用户目前的 crontab
crontab  -e  [user]  #编辑用户目前的 crontab
crontab  -d  [user]  #删除用户目前的 crontab

基本格式

*      *      *      *      *      command
分   时    日    月    周    命令
第 1 列表示分钟  1-59 ,每分钟用 * 或者 */1 表示。
第 2 列表示小时  1-23(0 表示 0 点)
第 3 列表示日期  1-31
第 4 列表示月份  1-12
第 5 列标识号星期  0-6 (0 表示星期天)
第 6 列表示要运行的命令

crontab 定时任务最小执行时间

1 分钟
如果需要小于 1 分钟,可以通过使用延时来实现每 N 秒执行或者编写 shell 脚本实现
可参考如下地址:http://blog.csdn.net/fdipzone/article/details/22701113

示例

#没晚的 21:30 重启 apache
30  21  *  *  *  /usr/local/etc/rc.d/lighttpd restart
#每月  1、10、22 日的 4:45  重启 apache
45  4  1,10,22  *  *  /usr/local/etc/rc.d/lighttpd restart
#每周六、周日的 1:10 重启 apache
10  1  *  *  6,0  /usr/local/etc/rc.d/lighttpd restart
#每天 18:00 至 23:00 之间每隔 30 分钟重启 apache
0,30  18-23  *  *  * /usr/local/etc/rc.d/lighttpd restart
#每周六的 23:00 重启 apache 
*  23  *  *  6  /usr/local/etc/rc.d/lighttpd restart
#每小时重启一次 apache
*  */1  *  *  *  /usr/local/etc/rc.d/lighttpd restart
#晚上 23 点到早上 7 点之间,每隔一小时重启一次 apche
*  23-7/1  *  *  *  /usr/local/etc/rc.d/lighttpd restart
#每月4号与每周一到周三的 11 点重启 apache
*  11  4  *  mon-wen  /usr/local/etc/rc.d/lighttpd restart
#一月一号的 4 点重启 apache
*  4  1  jan  *  /usr/local/etc/rc.d/lighttpd restart  

原文1:https://blog.csdn.net/bsf5521/article/details/76522222
原文2:https://www.cnblogs.com/jacob-tian/p/6480985.html

你可能感兴趣的:(crontab 定时写法整理)