您的位置:

如何在CentOS 7上设置定时任务?

一、Cron定时任务管理器简介

Cron是一个定时任务管理器,可以在指定的时间或者时间间隔内运行指定的命令或者脚本。其在CentOS 7系统中已经预装。Cron基于使用时间和日期运行周期性的命令,由常驻守护进程crond触发执行。Cron的主要用途是进行计划任务的作业调度,实现定时执行命令和脚本的功能。

在CentOS 7中,cron主要由以下几个文件组成:

  • /etc/crontab:系统cron配置文件
  • /etc/cron.d:扩展cron配置文件目录
  • /var/spool/cron:用户cron配置文件目录
  • /var/log/cron:cron日志文件目录

二、Cron基础语法

Cron文件的基本结构是:分 时 日 月 周 命令。其中分是分钟数,时是小时数(0到23),日是日期(1到31),月是月份(1到12),周是星期几(0到6,其中0代表星期天)。

cron支持的时间格式如下:

  • Asterisk (*):匹配所有值
  • Comma (,):用于分隔多个值
  • Hyphen (-):用于指定一个范围
  • Slash (/):用于指定一个间隔时间
  • 逗号 (,):用于指定多个数值

使用crontab命令进行编辑及控制,脚本的调度周期为秒、分、时、日、月、周的任意一种或组合形式。

示例:

* * * * * command
0 0 * * * command
*/10 * * * * command
0 */2 * * * command
30 5 * * 1-5 command

三、使用Cron设置定时任务

1. 执行指定命令

通过编辑crontab文件,可设置要执行的定时任务及执行频率。首先通过以下命令打开要编辑的.crondab文件:

$ crontab -e

然后添加以下内容:

* * * * * command

其中 * * * * * 代表每分钟都执行一次command命令

2. 按照时间周期性的执行任务

语法为:`* * * * * command`(分钟 小时 日 月 周),可以填写多个时间,表示在指定的时间周期性地运行命令。例如,下面的命令会在每天的5点20分和18点20分运行 /scripts/command.sh:

20 5,18 * * * /scripts/command.sh

3. 每隔一段时间执行任务

如果需要每隔一段时间执行一次任务,则可以使用如下的命令:

*/5 * * * * /scripts/command.sh 

以上命令将每五分钟执行一次 /scripts/command.sh 文件。"*/5"的意思是每隔五分钟。

4. 运行脚本文件

在crontab中可以执行任意脚本文件,示例如下:

* * * * * /bin/bash /scripts/command.sh

/bin/bash表示使用bash解释器来执行command.sh脚本。

5. 删除定时任务

通过以下命令删除crontab中的指定定时任务:

$ crontab -r

四、Cron常用命令

1. crontab

crontab命令是一个管理cron定时任务的工具。通过它,用户可以进行cron定时任务的增加、删除、编辑等操作。

使用方式如下:

  • crontab -e:编辑用户的crontab文件
  • crontab -l:显示当前用户的crontab文件内容
  • crontab -r:删除当前用户的crontab文件

2. systemctl

systemctl命令是一个用于管理systemd系统和服务的工具,它可以启动、停止、重启、查询服务状态等操作。

使用方式如下:

  • systemctl status cron.service:查询cron服务的状态
  • systemctl start cron.service:启动cron服务
  • systemctl stop cron.service:停止cron服务
  • systemctl restart cron.service:重启cron服务

3. service

service命令是一个用于管理系统服务的工具,它可以启动、停止、重启、查询状态等操作。

使用方式如下:

  • service cron status:查询cron服务的状态
  • service cron start:启动cron服务
  • service cron stop:停止cron服务
  • service cron restart:重启cron服务

总结

以上就是在CentOS 7上设置定时任务的全部介绍。Cron是一个非常强大的定时任务管理器,可以帮助用户完成很多自动化任务。熟练掌握Cron的使用将会极大地提高用户的工作效率。