crontab -l
crontab -e
crontab -i
删除定时任务,提示用户确认删除,避免出错
用在linux环境下调度kettle脚本为案例说明在Linux环境下做定时任务的过程
新建一个test.sh脚本
脚本内容如下:
source /etc/profile &&
/home/kettle/data-integration/kitchen.sh -file=/home/kettle/TEST_JOB/TEST_JOB.kjb >> /home/kettle/ETLLOG2/test_$(date +%Y%m%d%H%M%S).log
编辑在Linux环境下的定时任务调度脚本,例如:
*/1 * * * * /home/kettle/TEST_JOB/test.sh
如上表示,每一分钟自动调度一次test.sh脚本
定时任务调度kettle脚本案例:
--每天0点-23点 半点时候执行
30 0-23 * * * /home/kettle/ETL_CP_RISK_CONTROL/ETL_MAIN_JOB.sh
--每天0点-23点 每隔半小时执行
*/30 0-23 * * * /home/kettle/ETL_CP_RISK_CONTROL/ETL_MAIN_JOB.sh
每天 每隔5分钟执行一次
*/5 * * * * /home/kettle/ETL_CP_RISK_CONTROL/ETL_MAIN_JOB.sh
使用如下命令查看现有已设置的定时任务列表
crontab -l
使用crontab -e命令创建定时任务
crontab -e
编辑完成后保存退出(:wq)
注意点 (本人已踩坑) 新建了定时任务后,可能会不生效,原因可能是命令要调度的脚本无权限,故需要先给要调度的脚本设置权限:
chmod +x /home/kettle/TEST_JOB/test.sh
chmod +w /home/kettle/TEST_JOB/test.sh
至此,问题解决,正常调度!
这里给大家普及一点关于corn时间表达式的定义 关于特殊符号含义
符号 | 含义 |
---|---|
* | 表示“每”的意思,如 00 00 cmd表示每月每周每日的 00:00 整点执行 |
- | 表示时间范围分隔符,如21-23,代表每天的21、22、23点 |
, | 逗号,表示分割时段,如30 1,2,3 * cmd表示每天的1、2、3点的半点执行 |
/n | n表示可以整除的数字,每隔n的单位时间,如每隔10分钟表示/10* cmd |
0 * * * * 每小时执行,每小时的整点执行
1 2 * * 4 每周执行, 每周周四凌晨2点1分执行
1 2 3 * * 每月执行,每月的3号的凌晨2点1分执行
1 2 3 4 * 每年执行,每年4月3日凌晨2点1分执行
1 2 * * 3,5 每周周3和周5的凌晨2点1分执行
* 13,14 * * 6,0 每周六,周日下午1点和2点的每一份中执行
0 9-18 * * 1-5 每周一到周五每天早上9点到下午6点整执行
*/10 * * * * 每隔10分钟执行一次任务
*7 * * * * 如果没法整除,定时任务则没有意义,可以自定制脚本控制频率
定时任务最小单位是分钟,想完成秒级任务,只能通过其他方式(编程语言)
结束语 觉得有用的话点个赞 👍🏻 呗。 ❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙