Cron 允许 Linux 和 Unix 用户在给定的日期和时间运行命令或脚本。您可以安排定期执行脚本。
Cron是Linux或UNIX(如操作系统)中最有用的工具之一。它通常用于系统管理员作业,例如备份或清理 /tmp/ 目录等。cron 服务(守护进程)在后台运行,并不断检查 /etc/crontab 文件和 /etc/cron.*/ 目录还有 /var/spool/cron/ 目录。
对于站长来说,cron也有着很大的用处:定期清理缓存、定期重启MySQL服务、定期备份网站和数据库还有为let’s encry自动申请SSL证书等。
crontab 的语法(字段描述)
1 2 3 4 5 /path/to/command arg1 arg2
或
1 2 3 4 5 /root/backup.sh
命令详解
- 1: 分钟 (0–59)
- 2: 小时 (0–23)
- 3: 日 (0–31)
- 4: 月 (0–12 [12 == 12 月])
- 5: 星期几(0–7 [7 或 0 == 星期日])
- /path/to/command — 要调度的脚本或命令名称
更直观的理解方式:
* * * * * 要执行的命令
- - - - -
| | | | |
| | | | ----- 星期几 (0 - 7)(星期日=0 或 7)
| | | ------- 月 (1 - 12)
| | --------- 日期 (1 - 31)
| ----------- 小时 (0 - 23)
------------- 分钟 (0 - 59)
多语法示例:
0 0 * * * / bin / sh backup.s——在每天午夜执行数据库备份。
0 6,18 * * * / bin / sh backup.sh ——在上午6点和下午6点每天执行两次数据库备份
0 * / 6 * * * /scripts/monitor.sh——每六个小时进行一次监控
* / 10 * * * * /home/user/script.sh——每10分钟为主目录中的脚本文件执行一次cron作业
0 * 20 7 * / bin / sh backup.sh——在7月20日每小时运行一次数据库备份。
0 0 * * 2 * / bin / sh——在每个星期二的零点运行数据库备份
* * * 1,2,5 * /script/script.sh——在1月,2月和5月运行命令
10-59 / 5 5 * * * /home/user/script.sh ——在凌晨5点开始每隔5分钟运行一次命令,从早上5:10开始
0 8 1 * / 3 * /home/user/script.sh——每季度在第一天早上8点运行一个命令
* * * * * /scripts/script.sh; /scripts/scrit2.sh——在单个cron作业上设置多个任务的计划
@reboot /scripts/script.sh——每次启动系统时执行某项任务
如何使用运算符?
运算符允许您在字段中指定多个值。有三个运算符:
- 星号 (*): 此运算符指定字段的所有可能值。例如,小时时间字段中的星号将等效于每个小时,或者月份字段中的星号将等效于每个月。
- 逗号 (,): 此运算符指定值列表,例如:“1,5,10,15,20, 25”。
- 短划线 (-): 此运算符指定值的范围,例如: “5–15” 天 ,这相当于使用逗号运算符键入 “5,6,7,8,9,….,13,14,15”。
- 分隔符 (/): 此运算符指定一个步长值,例如:“0–23/”可在小时字段中用于指定每隔一小时执行一次命令。星号后面的步骤也是允许的,所以如果你想说每两个小时,只需使用*/2。
在国内的一些虚拟主机控制面板中,也集成了可视化的计划任务功能,例如宝塔等,在控制面板中可以快速、直观的选择你要做的事情,如备份网站、备份数据库、定期执行某任务等,这里仅仅是初步的介绍一下使用方法和命令的说明。
评论(0)