crond服务和crontab工具的安装及使用
crond及crontab 简介
crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。而crond正是它的守护进程。(来自百度百科)
安装
正常centos7自动安装crond服务及crontab,不用安装。
yum clean all 清理yum的缓存
yum updata 更新系统的安装包
yum install -y cronie crontabs 安装
验证crond服务
检查crond服务是否安装及启动
yum list cronie && systemctl status crond
检查crontab工具是否安装 (which crontab === /usr/bin/crontab 安装在系统的位置)
yum list crontabs && which crontab && crontab -L (L是小写)
crond 服务的开启与关闭
systemctl start crond 服务开启
systemctl stop crond 服务关闭
systemctl restart crond 服务重启
systemctl status crond 服务状态
Crontab 配置文件
系统配置文件
/etc/crontab
系统用户crontab配置文件保存目录(crontab -e)
/var/spool/cron/【用户名】
例如:root :/var/spool/cron/root
newUser : /var/spool/cron/newUser
Crontab 命令行
编辑并运行当前用户的计划任务
编辑:crontab -e
运行:systemctl restart crond
注:运行就是讲crond服务重启
查看当前用户(root)的计划任务
1.crontab -L (小写L)
2.( vim vi tail cat) /var/spool/cron/root
删除计划任务
Crontab -r
注:其他命令就不写 基本上用不到
定时使用及操作
* * * * * my Command (*分别表示 分 时 日 月 周)
1 2 3 4 5 echo -e "$(date)" >> /var/log/log_crontab.txt
1: 表示分钟,可以是从0到59之间的任何整数。
2:表示小时,可以是从0到23之间的任何整数。
3:表示日期,可以是从1到31之间的任何整数。
4:表示月份,可以是从1到12之间的任何整数。
5:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
echo -e "$(date)" >> /var/log/log_crontab.txt:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
使用实例
实例1:每1分钟执行一次命令
命令:
* * * * * command
实例2:每小时的第1和第50分钟执行命令
命令:
1,50 * * * * command
实例3:在21点到23点的第1和第50分钟执行
命令:
1,50 21-23 * * * command
实例4:每隔两天在21点到23点的第1和第50分钟执行
命令:
1,50 21-23 */2 * * command
实例5:每隔两天在21点到23点的第1和第50分钟执行执行php文件
1,50 21-23 */2 * * /usr/local/php/7.1.14/bin/php /root/crontab/test.php
注:
- You have new mail in /var/spool/mail/root的提示,很是烦人
echo “unset MAILCHECK”>> /etc/profile
2.正常centos7自动安装crond服务及crontab,不用安装。