xiaoxiaolovei 2019-12-26
在linux中,周期执行的任务一般由crond这个守护进程来处理。crond读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为crontab(cron table)
一、crond服务
systemctl start crond //启动服务
systemctl stop crond //关闭服务
systemctl restart crond //重启服务
systemctl reload crond //重新载入配置
systemctl status crond //查看服务状态
二、cron在3个地方查找配置文件
1. /var/spool/cron/ 目录下存放包括root在内所有用户的定时任务,每个用户的所有定时任务保存在该目录下的与用户同名的文件
2. /etc/crontab 文件负责调度各种管理和维护任务
3. /etc/cron.d/ 目录用来存放任何要执行的crontab文件或脚本
三、crontab命令
crontab [-u username] //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表里的命令) -r (删除工作表)
crontab命令操作的实际就是 /var/spool/cron 目录下的文件。crontab -e 进入当前用户的工作表编辑,是常见的 vim界面,每行都是一项任务。任务格式:
minute hour day month dayOfWeek command minute:分钟,0-59整数 hour:小时,0-23整数(如指定月份,则必须是该月有效日期) month:月份1-31整数,(或使用英文简写jan、feb) dayOfWeek:周几,0-7整数,0或7都代表星期天(或使用英文简写如sun、mon) command:执行的命令(可以是系统命令,也可以是脚本文件) 上面定义定时任务执行周期的几项中 星号* 表示所有有效值 短线- 执行一个整数范围 逗号, 指定多个多个固定值 正斜线/ 用来指定频率,斜线前表示范围,后面表示频率。如在分钟位置0-29/2 表示在0到29分钟期间每隔2分钟执行一次,也经常配合*使用:*/1 crontab文件注释符号为 #