1.简介
crontab是Unix和类Unix操作系统(如Linux)中用于定时任务调度的工具。其名称来源于“cron”这个守护进程,它负责周期性地执行任务,并且“tab”表示这个工具的配置文件。用户可以通过配置crontab文件来设定定时任务,这些任务可以包括简单的脚本或命令。
通过crontab的配置,可以定时的去执行脚本,比如守护进程等。
2.使用
使用crontab -e
命令可以编辑当前用户的crontab文件。
如果当前用户是root,需要为其他用户配置,可以使用crontab -e -u 用户名或su 用户名。
在编辑crontab文件之前,可以通过
export EDITOR=vim
来这是编辑的方式。
2.1 crontab文件的格式
crontab配置文件的格式由六个字段组成,其中前五个字段指定了任务执行的时间和日期,最后一个字段是要执行的命令。格式如下:
* * * * * command_to_execute
每个字段的含义如下:
名称 | 含义&&取值 |
---|---|
第一个字段 | 分钟(0-59) |
第二个字段 | 小时(0-23) |
第三个字段 | 日期(1-31) |
第四个字段 | 月份(1-12) |
第五个字段 | 星期(0-7) |
第六个字段 | 要执行的命令 |
其中
- 星号(*):代表所有可能的值;
- 逗号(,):用于分隔列表中的项;
- 连字符(-):用于定义一个范围;
- 斜杠(/):用于指定步长;
2.2 查看和删除crontab任务
crontab -l
使用 crontab -l 命令可以查看当前用户的crontab任务列表;
crontab -r
使用 crontab -r 命令可以删除当前用户的所有crontab任务;
2.3 crontab文件的存放位置
用户自定义的crontab文件通常被保存在/var/spool/cron/目录中,文件名与用户名一致。
系统任务调度的配置文件位于/etc/crontab文件中,该文件用于定义系统周期性要执行的工作,如写缓存数据到硬盘、日志清理等。
root@***:/var/spool/cron# ls
atjobs atspool crontabs
2.4 使用示例
* * * * * /path/to/command //每分钟 执行命令或脚本;3 * * * * /path/to/command //每小时的第3分钟 执行命令或脚本;*/5 * * * * /path/to/command //每隔5分钟 执行命令或脚本;0 12 * * * /path/to/command //每天12:00点 执行命令或脚本;30 23 * * * /path/to/command //每天23:30 执行命令或脚本;30 8 * * 1 /path/to/command //每个星期一的上午8:30 执行命令或脚本;30 1 1,15 * * /path/to/command //每月1号和15号的上午1:30 执行命令或脚本;0,30 20-23 * * * /path/to/command //每天晚上8点到11点 ,每隔30分钟 执行命令或脚本;