📅  最后修改于: 2023-12-03 14:40:15.825000             🧑  作者: Mango
crontab
片段介绍crontab
是 Linux 系统中非常常用的计划任务管理工具。通过 crontab
,用户可以定期地执行一些指定的命令或脚本,比如定期备份数据、清理缓存、定时发送邮件等操作。
crontab
语法格式如下:
* * * * * command
- - - - -
| | | | |
| | | | ----- Day of the Week (0 - 7) (Sunday is both 0 and 7)
| | | ------- Month (1 - 12)
| | --------- Day of the Month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
上面的 *
表示任意值,command
表示要执行的命令或脚本。
例如,下面的示例表示每天的凌晨 3 点执行一次 backup.sh
脚本:
0 3 * * * /path/to/backup.sh
下面是一些常用的 crontab
命令:
crontab -l
:列出当前用户的所有计划任务。crontab -e
:编辑当前用户的计划任务。crontab -r
:删除当前用户的所有计划任务。每天的凌晨 3 点执行一次 /path/to/backup.sh
脚本:
0 3 * * * /path/to/backup.sh
每周一到周五的中午 12:30 执行一次 /path/to/reminder.sh
脚本:
30 12 * * 1-5 /path/to/reminder.sh
每月的第一天执行一次 /path/to/monthly-task.sh
脚本:
0 0 1 * * /path/to/monthly-task.sh
crontab
任务运行的环境变量可能与用户默认 shell 的环境变量不同。如果脚本运行时需要特定的环境变量,应当在 crontab
中明确地进行设置。crontab
的定时任务执行时间不能保证精确到秒级别,有可能会与期望的运行时间前后几分钟。所以,在编写定时脚本时应当考虑到这一点。crontab
执行的脚本必须拥有可执行权限,否则会执行失败。