Linux 定时任务 - crontab 命令格式详解
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令,是互联网很常用的技术。
很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较高,一个要求你的程序是24X7小时不宕机,一个是要求你的调度程序比较可靠。实际工作中,90%的程序都没必要花这么多时间和精力去解决上面的两个问题,只需要写好自己的业务逻辑,通过crond这个工业级程序去调度就行了,crond的可靠性,健壮性,大家应该是毫无疑问的。
一、cron服务安装
yum install crontabs //安装crontab service crond start //启动服务 service crond status //查看crontab服务状态 |
二、cron服务命令
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
例如: root查看自己的cron设置:crontab -u root -l root编辑自己的cron设置:crontab -u root -e |
当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
cron服务会每分钟检查一次/etc/crontab、/etc/cron.d/、/var/spool/cron文件下的变更。如果发现变化,就会下载到存储器中。
三、crontab配置
crontab执行定时任务,执行体可以是一条系统命令或者是自己写的一个脚本,同时也可以指派用户来执行。
方法1、使用crontab命令,例如添加一个新的或编辑已有的
# crontab -e |
就可以进入配置文件。此时配置crontab的执行者是当前登入用户,如果当前用户是root,需要为其他用户配置,可以使用
# crontab -e -u 用户名 或 # su 用户名 # crontab -e |
配置完成后,会在/var/spool/cron目录中生成与用户同名的文件,可以通过命令:crontab -l查询当前用户的定时任务。
这种方法有一个缺点,就是当前系统中配置的crontab不在一个配置文件中,让管理员不方便查询系统到底有多少个crontab。
方法2、直接在/etc/crontab文件中添加,不过需要是root身份。
# vi /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 |
要添加新的crontab,只需要在文件最后增加即可。注意这里面需要指定用户名;而方法1中则不需要,如果指定了,它会认为是命令的一部分,从而可能导致crontab执行失败。
如果服务器都是有root来管理,建议添加crontab使用方法2,这样系统中的所有计划任务都在一起,一目了然。
四、crontab命令详解
基本格式 : 第6列表示当前用户(值为root,若为普通用户忽略该列)
(*)代表所有可能的值,例如月份如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作 |
例子:
*/1 * * * * 每分钟执行 0 * * * * 每小时执行 0 0 * * * 每天执行 0 0 * * 0 每周执行 0 0 1 * * 每月执行 0 0 1 1 * 每年执行 |
每隔5秒执行bai一次:0/5 * * * * ?
每隔1分钟执行一du次:zhi0 */1 * * * ?
每天dao23点执zhuan行一次:0 0 23 * * ?
每天凌晨shu1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
相关推荐
Linux Crontab 是一个强大的定时任务命令,用于在指定的时间间隔执行特定的命令或程序。Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。 1. Crontab 介绍 Crontab 命令的...
Crontab是Unix/Linux系统中用于周期性执行任务的调度工具,它允许用户定义在特定时间运行的命令。`python-crontab`库则将这种功能带入了Python世界,使得开发者可以更方便地在Python程序中创建、读取、修改和删除...
Linux中的`crontab`命令是用于管理定时任务的关键工具,它允许系统管理员或普通用户在特定的时间间隔执行预定的命令或脚本。这个功能在自动化维护、数据备份、日志清理等场景中非常有用。以下是对`crontab`命令的...
### Linux定时任务Crontab详解 #### 一、Crontab简介 在Linux系统中,Cron服务是一种用于计划执行任务的工具。它允许用户设置周期性运行的任务,例如自动备份数据、定时发送邮件等。Cron服务的核心是`crontab`命令...
#### Crontab命令格式 Crontab命令的基本语法如下: ``` crontab [options] ``` 其中,`[options]`可以是以下几种: - `-e`: 编辑当前用户的crontab文件。 - `-l`: 列出当前用户的crontab配置。 - `-r`: 删除...
Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍能记住了,关键是要记住/var/spool/cron这个目录。下面看一下...
### crontab命令详解 #### 一、引言 ...`crontab` 命令提供了强大的定时任务管理能力,是 Linux 系统自动化运维不可或缺的一部分。通过对 `crontab` 的深入理解与应用,可以极大地提高系统的可靠性和效率。
【Linux 下定时任务使用详解】 Linux 系统中的定时任务主要通过 `cron` 服务来实现,它允许用户和系统管理员设置周期性被执行的任务。`cron` 是 Linux 的一个核心组件,但不会自动启动,需要手动操作或设置为开机...
Linux crontab 命令格式详解 Linux 中的 crontab 命令是一种定时任务管理工具,允许用户在固定时间或固定间隔执行程序。crontab 命令的基本格式为:`* * * * * command`,其中每个星号 (`*`) 代表不同的时间单位,...
Linux定时器任务详解知识点: 1. Linux中定时器任务的基本概念 在Linux系统中,定时器任务是指用户设置的一系列操作,这些操作按照预定的时间间隔或特定的时间点自动执行。使用定时器任务可以有效地进行周期性的...
Linux中的Crontab是一个强大的定时任务管理工具,用于在特定的时间点执行预定的任务。它允许系统管理员或普通用户安排各种周期性的任务,如备份、清理日志、数据同步等。以下是对Crontab的详细解释: 1. **Crontab...
`swoole-crontab-master`这个项目利用了Swoole的定时器功能来实现类似Linux crontab的定时任务管理。在Swoole中,可以通过`Swoole\Timer`类设置定时器,这个类提供了`tick`和`after`两个方法,分别用于创建周期性和...
Linux定时任务是系统管理的重要组成部分,它允许管理员或用户安排任务在特定时间自动执行。Crontab命令是实现这一功能的核心工具,适用于Unix和Linux操作系统。Crontab代表“cron table”,它允许用户定义一系列定时...
【Linux定时执行程序Crontab详解】 Crontab是Linux系统中用于定期执行任务的工具,它允许用户设置一系列的定时规则来执行特定的命令或脚本。在上述场景中,你需要在客户服务器上配置定时任务,例如每周一至周六晚上...
在Linux系统中,定时执行任务是一项非常重要的功能,它允许用户在特定的时间点或按照预设的周期性安排运行特定的命令或脚本。本文主要介绍两种常用的定时任务工具:at命令和crontab。 首先,at命令适用于一次性任务...
### Linux计划任务Cron详解及应用 #### 一、Cron简介 Cron是Linux系统中用于调度周期性任务的守护进程(Daemon),允许用户在固定时间或周期性地执行命令或脚本。通过Cron,用户可以设定复杂的定时任务,如定期...
Crontab是Linux中用于设置定时任务的工具,它的名字由“clock”与“table”两个词合并而来,意为时间表。Crontab可以定义复杂的定时规则,并能够支持各种脚本或命令的执行。 ##### 2.1 Crontab命令 - **crontab -l*...
### Linux 下定时执行计划任务详解 #### 一、概述 在 Linux 操作系统中,定时执行计划任务是一项非常实用的功能,它可以自动地按照预设的时间周期执行特定的任务或脚本,比如定期备份数据、定时清理日志文件等。...