crontab每分钟,5,10分钟,每小时,每天零点,每周日0点,每月1号0点,每年1月1日执行脚本,linux shell定时任务

在linux系统里做维护和开发时,

经常会遇到要用crontabl设置定时任务的情况,

下面把crontab常用的写法记录一下,

一、 crontab常用写法

每分钟执行 */1 * * * * command

每小时0分执行 0 * * * * command

每天0点执行 0 0 * * * command

每周日0点执行 0 0 * * 0 command

每月1号执行 0 0 1 * * command

每年1月1日执行 0 0 1 1 * command

前面的5个*分别对应执行周期:

分,时,天,月,周

在周期上使用数字,

表示具体的时间点,

在周期上使用 / ,

表示间隔频率

例如:

每5分钟执行 */5 * * * * command

每10分钟执行 */10 * * * * command

2efcab2c33b95ef9efcca9e4cb6f203f.png

二、 crontab需要注意的地方

2-1) command和shell脚本都使用全路径

如果你的crontab定时任务没有执行,

可以检查command和shell里,

是不是都使用了全路径,

不要使用相对路径。

2-2) crontab定时任务后添加 > /dev/null 2>&1 &

在写crontab时,

可以在 command 后面添加下面的内容

> /dev/null 2>&1 &

> /dev/null 2>&1 表示把脚本中的显示内容和错误提示内容都输入到 null 设备,即不显示

最后一个 & 表示在后台执行命令

如果你是在windows系统时,

像win7, win10, server 2003, server 2008, windows server 2012, server 2016, server 2019服务器系统,

可以使用 at、schtasks或者taskschd 计划任务来实现类似linux crontab的功能。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐