环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 8,Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5.8
文档用途
详细介绍crontab命令的使用配置
详细信息
1.定时任务CRONTAB概念/介绍
crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于/etc/crontab 文件中,以供之后读取和执行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。
2.查看定时任务服务
[root@hac1 ~]# systemctl status crond.service
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-12-12 13:53:23 CST; 26min ago
Main PID: 2999 (crond)
Tasks: 1
CGroup: /system.slice/crond.service
└─2999 /usr/sbin/crond -n
Dec 12 13:53:23 hac1 systemd[1]: Started Command Scheduler.
Dec 12 13:53:23 hac1 crond[2999]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 81% if used.)
Dec 12 13:53:24 hac1 crond[2999]: (CRON) INFO (running with inotify support)
3.定时任务格式,语法
1)首先看下/etc/crontab 文件内容
[root@hac1 ~]# cat /etc/crontab
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
minute 表示分钟(可以填写的数字为0-59),整点用0表示,1-10 表示从第1 到第10分钟这段时间内要执行,*/n 时表示每隔 n 分钟的时间间隔执行一次,另外1,2,3,…表示第1,2,3,…分钟要执行;
hour 表示小时(可以填写的数字为0-23),是24小时制,0表示子夜, 8-10 时表示从第8 到第10小时都要执行,*/n 表示每隔 n 小时的间隔执行一次,另外1,2,3,…表示第1,2,3,…个小时要执行;
day 表示一个月第几天(可以填写的数字为1-31);
mouth 表示月份(可以填写的数字为1-12);
day of week 表示的是星期几(可以填写的数字为0-6),0表示星期天,1表示星期一,1-5表示从周一持续到周五;
command 表示的是我们要运行的命令。
2)语法
crontab -e #创建定时任务
crontab -l #查看定时任务
crontab -r #删除定时任务,这个删除代表全部内容的删除,我只想要删除某一行,需要使用crontab -e进入编辑后单独删除
3)实例
30 15 * * * touch /home/file{1…5} ##表示在15:30分在/home/目录创建file1-file5五个文件
*/5 * * * * date ##表示每5分钟执行一次date命令
*/5 * * * * date >> /tmp/date.txt ##将时间重定向到一个txt文件中为测试
*/10 1,3,9 * * 1-5 date >> /tmp/date1.txt ##周一至周五的一点三点九点每隔10分钟发送一次时间的定时任务
#注意:
在定时任务配置文件中可以书写多行,每一行代表一个周期性任务。