linux 定时任务

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文件注释符号为 #

  

相关推荐