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
二、 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的功能。