crontab用法总结

crontab是什么

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。「crontab」一词来源于希腊语chronos(χρνο),原意是时间.

而crond是Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,操作系统默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

环境:CentOS 7.0 64位

1.crontab文件的位置.

所有用户定义的crontab文件都被保存在/var/spool/cron目录中,文件名与用户名保持一致.例如:

用户「root」的crontab文件位于:/var/spool/cron/root

用户「zhou」的crontab文件位于:/var/spool/cron/zhou

2.黑名单&白名单的文件位置
名称位置作用
白名单/etc/cron.allow将可以使用 crontab 的帐号写入其中,若不在这个文件内的使用者则不可使用 crontab;
黑名单/etc/cron.deny将不可以使用 crontab 的帐号写入其中,若未记录到这个文件当中的使用者,就可以使用 crontab .

白名单的优先级高于黑名单,但是系统默认保留的是黑名单.可以将某些用户写入/etc/cron.deny中,一个帐号一行,这样这些用户就不能使用crontab了.

3.crontab配置文件的语法

配置文件中的每一行具有六个栏位,这六个栏位的意义为:

意义分钟小时日期月份星期命令
范围0-590-231-311-120-7command

其中星期取值为0和7时均代表星期日.

前五栏除了可以取上表中的这些值外,还可以取下面这些特殊参数:

*   |代表任何时刻均可执行.
,   |代表分隔时段,例如要在3:00和6:00两个时刻执行命令:```0 3,6 * * * command```
-   |代表范围,例如要在8:20,9:20,10:20三个时刻执行命令:```20 8-10 * * * command```
/n  |代表间隔,例如每10分钟执行一次命令:```*/10 * * * * command```

注意时间与星期不能同时设置,例如下面就是一个错误的写法:

30 12 11 9 5 command

此时,系统可能会判定在每周五执行该命令,也可能判定在每年的9月11日执行该命令,而非在9月11日且为周五才去执行命令.

crond服务的监控间隔为1分钟,因此cron会每分钟去读取一次/etc/crontab 与 /var/spool/cron 里面的数据内容.只要你编辑完 /etc/crontab 这个文件,并且将他储存之后,那么 cron 的配置就会自动的运行了!

4.crontab命令
命令含义
crontab file crontab opt就是将当前目录下的opt文件导入当前用户的crontab配置文件中.
crontab -l查看当前用户的crontab配置文件内容.
crontab -e编辑当前用户的crontab配置文件内容.
crontab -r编辑当前用户的crontab配置文件内容.
5.crontab服务
命令含义
service crond status查看crontab服务状态
service crond start启动crontab服务
service crond stop关闭crontab服务
service crond restart重启crontab服务
service crond reload重载crontab服务配置
6.?

在sample1文件中写入如下内容:

* * * * * date > sample2

执行命令: crontab sample1

这样就配置了一个最简单的crontab,每分钟执行一次命令.

tail -f sample2命令查看命令的执行情况:

可以看到crontab已经启动了,每分钟的00秒自动执行命令.

输入命令crontab -r后,crontab就不再执行任何命令了.

7.参考文章

参考文章1

参考文章2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值