推荐答案
# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
本题详细解读
1. 基本语法
Crontab 文件的每一行代表一个定时任务,格式如下:
* * * * * user-name command-to-be-executed
- 第一个
*
表示分钟(0 - 59) - 第二个
*
表示小时(0 - 23) - 第三个
*
表示日期(1 - 31) - 第四个
*
表示月份(1 - 12) - 第五个
*
表示星期几(0 - 6,0 或 7 表示星期日) user-name
是可选的,表示执行命令的用户(通常在系统级 crontab 中使用)command-to-be-executed
是要执行的命令或脚本
2. 特殊字符
*
:表示所有可能的值。例如,*
在分钟字段表示每分钟。,
:用于指定多个值。例如,1,3,5
在小时字段表示 1 点、3 点和 5 点。-
:用于指定范围。例如,1-5
在星期字段表示星期一到星期五。/
:用于指定间隔。例如,*/10
在分钟字段表示每 10 分钟。
3. 示例
0 * * * * /path/to/script.sh
:每小时的第 0 分钟执行脚本。*/15 * * * * /path/to/script.sh
:每 15 分钟执行一次脚本。0 2 * * 0 /path/to/script.sh
:每周日的凌晨 2 点执行脚本。0 0 1 * * /path/to/script.sh
:每月的第一天午夜执行脚本。
4. 注意事项
- 确保命令或脚本具有可执行权限。
- 使用
crontab -e
编辑当前用户的 crontab 文件。 - 使用
crontab -l
列出当前用户的 crontab 任务。 - 系统级 crontab 文件通常位于
/etc/crontab
或/etc/cron.d/
目录下。