目录
- 一 常用命令
- 二 创建任务
- 三 注意事项
Linux系统中可以使用crontab创建重复执行的定时任务,这篇文章聊一下crontab的用法。
一 常用命令
crontab -l:查看定时任务列表
crontab -e:编辑定时任务列表
二 创建任务
先看一下格式。
任务格式:m h dom mon dow command
m:minute
h:hour
dom:day of month
mon:month
dow:day of week
command:就是要定时执行的命令,比如tar -czvf demo.tgz /demo/
,比如/demo/demo.sh
其中表示时间的内容就是指什么时候执行任务,可以填写具体时间或者特殊字符,比如:
*:表示任意
,:用,分隔指定列表值,比如1,2,5
-:表示列表,比如1-6
/:表示频率
任务格式知道了,我们使用crontab -e命令编辑就可以,比如:
30 22 * * * command:表示每天22:30执行任务
15,20 * * * * command:表示每小时15分和每小时20分执行任务
20 1-2 * * * command:表示每天1点到2点的20分执行任务
*/20 * * * * command:表示每20分钟执行任务
三 注意事项
在执行crontab定时任务的时候,一般不会读环境变量的,所以这个需要注意,如果需要定时执行脚本,可以在脚本里指定环境变量,或者也可以用其他方式解决,这里不展开了。
如果执行的任务有输出,需要将输出重定向,不然任务的执行可能会出现问题,比如command写为/demo/demo.sh >/dev/null 2>/dev/null
。
可以在/var/log/messages文件里查看crontab的日志,也可能是其他文件,和系统有关系。