crontab
是 Linux 系统中用于定时执行命令或脚本的工具,可以按照指定的时间、日期、星期等规则来安排任务的自动执行。每个用户都可以有自己的 crontab
文件,其中记录着该用户的定时任务。
crontab
的基本格式
每条 crontab
任务的格式如下:
* * * * * command
每个 *
代表一个时间参数,共有五个字段,分别表示:
- 分钟 (0 - 59):第一个
*
代表分钟。 - 小时 (0 - 23):第二个
*
代表小时。 - 日期 (1 - 31):第三个
*
代表日期。 - 月份 (1 - 12):第四个
*
代表月份。 - 星期几 (0 - 7):第五个
*
代表星期几(0 或 7 都表示周日)。
command
是要执行的命令或脚本路径。
特殊符号说明
*
:任意值,如*
代表每分钟、每小时、每天等。,
:用逗号分隔多个值,如1,15
表示第 1 分钟和第 15 分钟。-
:用来表示一个范围,如1-5
表示从 1 到 5。/
:步进值,用来表示每隔多少执行一次,如*/5
表示每 5 分钟执行一次。
常用示例
-
每 5 分钟执行一次脚本
*/5 * * * * /path/to/your/script.sh
解释:每隔 5 分钟执行一次
/path/to/your/script.sh
。 -
每天凌晨 2 点执行
0 2 * * * /path/to/your/script.sh
解释:每天的 2:00 执行
/path/to/your/script.sh
。 -
每周一凌晨 3 点执行
0 3 * * 1 /path/to/your/script.sh
解释:每周一的 3:00 执行
/path/to/your/script.sh
。 -
每月 1 日凌晨 4 点执行
0 4 1 * * /path/to/your/script.sh
解释:每月的 1 日 4:00 执行
/path/to/your/script.sh
。 -
每年 1 月 1 日凌晨 0 点执行
0 0 1 1 * /path/to/your/script.sh
解释:每年 1 月 1 日的 0:00 执行
/path/to/your/script.sh
。 -
每小时的第 10 分钟执行
10 * * * * /path/to/your/script.sh
解释:每小时的第 10 分钟执行
/path/to/your/script.sh
。 -
工作日(周一到周五)早上 8 点执行
0 8 * * 1-5 /path/to/your/script.sh
解释:每周一到周五的 8:00 执行
/path/to/your/script.sh
。
如何编辑和查看 crontab
-
编辑当前用户的
crontab
文件:crontab -e
这将打开当前用户的
crontab
文件,可以在文件中添加或修改定时任务。 -
查看当前用户的
crontab
文件:crontab -l
列出当前用户所有的定时任务。
-
删除当前用户的所有
crontab
任务:crontab -r
通过合理设置 crontab
定时任务,可以实现自动化管理和定时执行脚本,减少手动操作。