IT袋

当前位置:主页 > 经验教程 > 系统教程 >

Centos简单设置定时任务

Centos简单设置定时任务 CentOS定时任务设置简易指南

时间:2023-12-13 13:27:44 来源:IT袋 作者:马勇
导读:Centos简单设置定时任务,这些方法你知道吗?Centos简单设置定时任务的介绍,接下来小编为网友介绍。 这里分享的是Centos简单设置定时任务,我们通过本文方式简单设置定时任务。 系统默认情况

Centos简单设置定时任务

这些方法你知道吗?Centos简单设置定时任务的介绍,接下来小编为网友介绍。

这里分享的是Centos简单设置定时任务,我们通过本文方式简单设置定时任务。

系统默认情况下crontab是已经安装好的。

Centos简单设置定时任务

下面代码是服务常规命令:

  • crontab -u 设定某个用户的cron服务
  • crontab -l 显示crontab文件(显示已设置的定时任务)
  • crontab -e 编辑crontab文件(编辑定时任务)
  • crontab -r 删除crontab文件(删除定时任务)
  • crontab -i 删除crontab文件提醒用户(删除定时任务)

分享2种编辑定时任务的方式:

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
用户的定时任务分6段,分别是:分,时,日,月,周,命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
*:表示任意时间都,实际上就是“每”的意思。可以代表00-23小时或者00-12每月或者00-59分
-:表示区间,是一个范围,00 17-19 * * * cmd,就是每天17,18,19点的整点执行命令
,:是分割时段,30 3,19,21 * * * cmd,就是每天凌晨3和晚上19,21点的半点时刻执行命令
/n:表示分割,可以看成除法,*/5 * * * * cmd,每隔五分钟执行一次

1、使用crontab -e 命令编辑:

中输入crontab -e 使用vim编辑。

2、直接编辑目标文件

进入系统/var/spool/cron/目录,文件名一般是系统用户默认名root,直接文本编辑。

如果你执行了以上两种方式,你再进来看一下这个目录下的文件你可能会发现一点问题。

这里的文件都是以用户名来命名的,你再打开你使用crontab -e 添加过任务的用户文件,原来crontab -e编辑的就是这里的文件,所以我们如果需要为哪个用户添加任务,只用编辑这个目录下对应用户的文件即可。

crontab定时实例:

参数说明:

分钟(0-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令
*/30 * * * root /usr/local/mycommand.sh (每天,每30分钟执行一次 mycommand命令)
* 3 * * * root /usr/local/mycommand.sh (每天凌晨三点,执行命令脚本,PS:这里由于第一个的分钟没有设置,那么就会每天凌晨3点的每分钟都执行一次命令)
0 3 * * * root /usr/local/mycommand.sh (这样就是每天凌晨三点整执行一次命令脚本)
*/10 11-13 * * * root /usr/local/mycommand.sh (每天11点到13点之间,每10分钟执行一次命令脚本,这一种用法也很常用)
10-30 * * * * root /usr/local/mycommand.sh (每小时的10-30分钟,每分钟执行一次命令脚本,共执行20次)
10,30 * * * * * root /usr/local/mycommand.sh (每小时的10,30分钟,分别执行一次命令脚本,共执行2次)
* * * * *         每1分钟执行一次
15,30,45 * * * *     每小时的第15、30、45分执行
15,30 10-11 * * *     在上午10点到11点的第15和第30分钟执行
* */2 * * *         每两个小时执行一次
chmod 777 /usr/local/mycommand.sh
systemctl restart crond.service 

相关阅读