1.先确认是否安装
rpm -qa|grep crontab
如果没有安装则执行安装命令
yum -y install crontabs
# 添加开机自启动
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start
2.crontab基本命令
systemctl status crond 查看服务状态
systemctl stop crond 关闭服务
systemctl start crond 启动服务
systemctl reload crond 重新加载配置
3. 配置定时任务
vi /etc/crontab
在代码最下方写入定时任务
一.时间设置说明
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
* * * * * 用户 command
minute hour day month week user command
分 时 天 月 星期 用户名 命令
星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
例子:
* 每整点执行一次:
0 */1 * * * xxxxx.bash
每隔60分钟执行一次:
*/60 * * * * xxxxx.bash
*取值范围内的所有数字,例如,十分钟执行一次
10 * * * *
/ 每过多少个数字,例如,每过十分钟执行一次
*/10 * * * *
- 从X到Z,例如,每天的17-20点五分钟执行一次
*/5 17-20 * * *
再例如,每周一到周五,17-20点五分钟执行一次
*/5 17-20 * * mon,tue,wed,thu,fri
,散列数字,例如,每天17-20点十分钟执行一次
*/10 17,18,19,20 * * *
再例如,每个月的第一天,10点10分执行一次
10 10 1 * *
二.示例代码
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
* * * * * root bash /usr/bs/collect.sh
表示每分钟以root执行一次该目录/usr/bs/下的脚本:collect.sh
三.配置生效以及查看
保存退出后,执行如下命令使配置生效并查看定时任务
crontab /etc/crontab 配置生效
crontab -l 查看定时任务是否正确
四.定时任务中出现所需配置命令,即成功配置,在执行定时任务时,可以查看日志
tail -f /var/log/cron 实时查看定时任务日志