Crontab 命令简介

一、Crond 简介

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活,crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。 -- 维基百科

二、Crontab 服务的关闭与启动
# systemctl {start | stop | restart | reload | status} crond.service
命 令 说 明
start 启动服务
stop 关闭服务
restart 重启服务
reload 重新加载配置文件
status 查看服务启动状态
三、Crondtab 命令详解
# crontab [-u user] file
或
# crontab [-u user] [-e | -l | -r]
参 数 说 明
-u 设定某个用户的crontab服务;
-e 编辑某个用户的crontab文件内容,如果不指定用户,则表示编辑当前用户的crontab文件;
file 将file作为crontab的任务列表文件并载入crontab,如果命令行中没有指定文件,crontab命令则接受标准输入上键入的命令,并将它们载入crontab;
-l 显示某个用户的crontab文件内容,如果不指定用户,则表示编辑当前用户的crontab文件;
-r 从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则删除当前用户的crontab文件;
-i 在删除用户的crontab文件时确认提示;
四、Crontab 格式说明

在Crontab文件中,每一行代表一项任务,每行的每个字段代表一项设置,共分为六个字段,前五段代表时间,第六段是要执行的命令段,格式如下:

minute hour day month week command
参 数 说 明
minute 表示分钟,取值0-59;
hour 表示小时,取值0-23;
day 表示日期,取值1-31;
month 表示月份,取值1-12;
week 表示星期,取值0-7,这里0和7代表星期日;
command 要执行的命令,可以是系统命令,也可以是自定义脚本;

在以上字段中,还可以使用以下特殊字符:

参 数 说 明
*(星号) 代表任意时间
,(逗号) 代表不连续的时间
-(短横) 代表连续的时间范围
/(正斜线) 指定时间的间隔频率,可以和*号一起使用
五、常用方法

例1:

* * * * * command
说明:每分钟,执行一次command命令;

例2:

0 0,23 1,31 * * command
说明:每月的1号和31号的0点整及23点整,执行一次command命令;

例3:

0 1-6 * * * command
说明:每天的1点整到6点整,执行一次command命令;

例4:

*/30 * * * * command
说明:每隔30分钟,执行一次command命令;
六、Crontab 配置文件
文 件(目 录) 说 明
/etc/crontab 系统任务调度配置文件
/var/spool/cron/ 用户任务调度配置文件存放目录,配置文件以用户名命名
/etc/cron.allow 白名单,允许使用crontab命令的用户
/etc/cron.deny 黑名单,不允许使用crontab命令的用户,对root用户无效

/etc/cron.allow/etc/cron.deny文件都同时存在时,以白名单为准,当两个文件都不存在时,只有root用户可以使用Crond命令;

七、默认编辑设置

设置crontab默认编辑器,编辑$HOME/.profile文件,加入:

EDITOR:vi; export EDITOR

你可能感兴趣的:(Crontab 命令简介)