环境
系统平台: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分钟发送一次时间的定时任务
#注意:
在定时任务配置文件中可以书写多行,每一行代表一个周期性任务。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论