crontab 命令作用

crontab 命令用于设置周期性或者说定时性的任务,例如:每周一备份日志文件、每年好友生日时发送一封祝福邮件等等,都可以用 crontab 设置定时任务轻松搞定。该命令常见于 Unix 和 类 Unix 的操作系统中(比如 Linux 和 OS X),在运维和后台开发中起着很大作用。

crontab 命令的使用

用户级的使用

参数说明:
-u 参数指定所属用户,值得注意的是 -u 参数的使用需要 root 权限
file 为保存定时任务的文件
-e 编辑定时任务
-l 显示所有定时任务
-r 移除所有定时任务

设置定时任务方式:
1.crontab file: 指定特定的定时任务文件,如 crontab ~/backup,这种方式设置定时任务时,会丢弃之前设置的定时任务
2.crontab -e: 会生成一个临时的定时任务文件(在 /tmp 目录下),文件中包含了当前的定时任务,可对其进行编辑

系统级的使用

直接编辑 /etc/crontab 文件,写入定时任务后,将自动执行

定时任务的格式

用户级

用户级格式

系统级

既指 /etc/crontab 该文件中的格式,格式和“用户级”的几乎一样,只是增加了个 user_name 的参数,因为需要指定执行该定时任务的用户身份
系统级格式

示例

crontab 定时任务格式示例

说明:
* 符号表示任何时刻都接受,比如:在 “代表一小时内的第几分” 的位置使用 “*” ,表示每一分钟
, 符号表示分隔的时间段,比如:在 “代表一天中的第几小时” 的位置使用 “8,12,16”,表示 8 时、12 时和 16 时,注意:“,” 两边不要有空白字符
– 符号表示一个时间段,比如:在 “代表一天中的第几小时” 的位置使用 “8-11” 表示 8 点至 11 点
/n 表示频率,比如:在 “代表一小时内的第几分” 的位置使用 “*/5” 表示 “每 5 分钟”

注意:
“某月中的第几天” 不能和 “星期几” 同时指定,既是说
30 12 11 9 5 sh /home/admin/optbash/daily.sh
这样的格式是错误的,因为指定的 “某月中的第几天” 和 “星期几” 不一定能对得上。系统可能会判定为每个星期五执行一次或每年 9 月 11 号执行一次

发表评论

电子邮件地址不会被公开。 必填项已用*标注