crond 服务详解

cron 是 Linux 下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,可以在无需人工干预的情况下运行作业。

  • 安装 crond 服务
yum install cronie
  • crond服务启动
systemctl start  crond
systemctl enable crond
  • crond服务解析

Linux系统调度可以分为两类: 系统任务调度 | 用户任务调度

(1) 系统任务调度: 系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等

# crond服务在/etc/目录下有一个crontab文件,这个文件就是系统任务调度的配置文件。
# 配置文件内容解析
[root@dev etc]# vim /etc/crontab
SHELL=/bin/bash                      # 指定shell
PATH=/sbinL:/bin:/usr/sbin:/usr/bin  # 指定了系统可执行文件路径
MAILTO=root     # 指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户。
HOME=/          # 指定执行命令或脚本时使用的主目录

(2) 用户任务调度: 用户定期要执行的工作,比如用户数据备份、定时邮件提醒等

# 用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。
# 可以通过 crontab 命令添加或者编辑需要定时执行的任务
  • crontab 命令基本参数

crond 服务提供 crontab 命令用于设置 crond 服务

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 
crontab -l //列出某个用户cron服务的详细内容 
crontab -r //删除某个用户的cron服务 
crontab -e //编辑某个用户的cron服务

# 特殊字符
*  : 代表所有可能的值
, :用逗号隔开的值表示一个范围列表,如 1,2 表示1-2
-  :可以在整数中间用中杠表示一个整数范围,如 6-8 , 表示6 7 8
/  : 可以用正斜线表示时间间隔频率,如 /10 用于minute字段,表示每10分钟执行一次。

  • 添加定时任务

任务格式: M(分) H(时) D(日) m(月) d(周) command
M : 表示分钟1~59 , 每分钟用*或者 */1表示
H : 表示小时1~23(0表示0点)
D : 表示日期1~31
m : 表示月份1~12
d : 表示号星期0~6(0表示星期天)
command : 要运行的命令

# 每分钟执行一次 /root/test.sh脚本
/5 * * * /root/test.sh

# 每十分钟执行一次
/10 * * * * echo "1";
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐