`

Linux 定时任务 - crontab 命令格式详解

 
阅读更多

Linux 定时任务 - crontab 命令格式详解

 

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令,是互联网很常用的技术。

 

很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较高,一个要求你的程序是24X7小时不宕机,一个是要求你的调度程序比较可靠实际工作中,90%的程序都没必要花这么多时间和精力去解决上面的两个问题,只需要写好自己的业务逻辑,通过crond这个工业级程序去调度就行了,crond的可靠性,健壮性,大家应该是毫无疑问的。

 

 

一、cron服务安装

 

yum install crontabs //安装crontab 

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

service crond status //查看crontab服务状态

 

二、cron服务命令

 

crontab -u  //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数  
crontab -l  //列出某个用户cron服务的详细内容
crontab -r  //删除没个用户的cron服务
crontab -e  //编辑某个用户的cron服务

 

例如:

root查看自己的cron设置:crontab -u root -l

root编辑自己cron设置crontab -u root -e
root删除fredcron设置crontab -u fred -r

 

当安装完成操作系统之后,默认便会启动此任务调度命令。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命令详解

  

基本格式 : 
*  *  *  *  *  user-name   command 
分 时 日 月 周 命令 
1列表示分钟059 每分钟用*或者 */1表示 
2列表示小时023(0表示0点) 
3列表示日期131 
4列表示月份112 
5列标识号星期0~707表示星期天) 

6表示当前用户(值为root,若为普通用户忽略该列 
7列要运行的命令

  

*代表所有可能的值,例如月份如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作
,可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
-)可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
/)可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在分钟字段,表示每十分钟执行一次

 

例子:

 

*/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 * * ?


 

  • 大小: 133.4 KB
  • 大小: 15.3 KB
分享到:
评论

相关推荐

    Linux Crontab 定时任务 命令详解

    Linux Crontab 是一个强大的定时任务命令,用于在指定的时间间隔执行特定的命令或程序。Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。 1. Crontab 介绍 Crontab 命令的...

    PyPI 官网下载 | python-crontab-2.2.3.tar.gz

    Crontab是Unix/Linux系统中用于周期性执行任务的调度工具,它允许用户定义在特定时间运行的命令。`python-crontab`库则将这种功能带入了Python世界,使得开发者可以更方便地在Python程序中创建、读取、修改和删除...

    linux定时执行,crontab命令使用介绍.pdf

    Linux中的`crontab`命令是用于管理定时任务的关键工具,它允许系统管理员或普通用户在特定的时间间隔执行预定的命令或脚本。这个功能在自动化维护、数据备份、日志清理等场景中非常有用。以下是对`crontab`命令的...

    linux 定时任务 crontab 详细解释

    ### Linux定时任务Crontab详解 #### 一、Crontab简介 在Linux系统中,Cron服务是一种用于计划执行任务的工具。它允许用户设置周期性运行的任务,例如自动备份数据、定时发送邮件等。Cron服务的核心是`crontab`命令...

    Linux crontab 命令格式与详细例子

    #### Crontab命令格式 Crontab命令的基本语法如下: ``` crontab [options] ``` 其中,`[options]`可以是以下几种: - `-e`: 编辑当前用户的crontab文件。 - `-l`: 列出当前用户的crontab配置。 - `-r`: 删除...

    Linux定时任务Crontab详解

    Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍能记住了,关键是要记住/var/spool/cron这个目录。下面看一下...

    crontab命令详解

    ### crontab命令详解 #### 一、引言 ...`crontab` 命令提供了强大的定时任务管理能力,是 Linux 系统自动化运维不可或缺的一部分。通过对 `crontab` 的深入理解与应用,可以极大地提高系统的可靠性和效率。

    Linux 下定时任务使用详解

    【Linux 下定时任务使用详解】 Linux 系统中的定时任务主要通过 `cron` 服务来实现,它允许用户和系统管理员设置周期性被执行的任务。`cron` 是 Linux 的一个核心组件,但不会自动启动,需要手动操作或设置为开机...

    Linux crontab 命令格式.docx

    Linux crontab 命令格式详解 Linux 中的 crontab 命令是一种定时任务管理工具,允许用户在固定时间或固定间隔执行程序。crontab 命令的基本格式为:`* * * * * command`,其中每个星号 (`*`) 代表不同的时间单位,...

    linux定时器任务详解

    Linux定时器任务详解知识点: 1. Linux中定时器任务的基本概念 在Linux系统中,定时器任务是指用户设置的一系列操作,这些操作按照预定的时间间隔或特定的时间点自动执行。使用定时器任务可以有效地进行周期性的...

    Linux定时任务Crontab详解(推荐)

    Linux中的Crontab是一个强大的定时任务管理工具,用于在特定的时间点执行预定的任务。它允许系统管理员或普通用户安排各种周期性的任务,如备份、清理日志、数据同步等。以下是对Crontab的详细解释: 1. **Crontab...

    swoole-crontab-master.基于swoole的定时器程序,支持秒级处理

    `swoole-crontab-master`这个项目利用了Swoole的定时器功能来实现类似Linux crontab的定时任务管理。在Swoole中,可以通过`Swoole\Timer`类设置定时器,这个类提供了`tick`和`after`两个方法,分别用于创建周期性和...

    Linux定时任务Crontab命令使用详解与总结

    Linux定时任务是系统管理的重要组成部分,它允许管理员或用户安排任务在特定时间自动执行。Crontab命令是实现这一功能的核心工具,适用于Unix和Linux操作系统。Crontab代表“cron table”,它允许用户定义一系列定时...

    专题资料(2021-2022年)Linux定时执行程序Crontab.docx

    【Linux定时执行程序Crontab详解】 Crontab是Linux系统中用于定期执行任务的工具,它允许用户设置一系列的定时规则来执行特定的命令或脚本。在上述场景中,你需要在客户服务器上配置定时任务,例如每周一至周六晚上...

    Linux定时执行任务at和crontab命令详解

    在Linux系统中,定时执行任务是一项非常重要的功能,它允许用户在特定的时间点或按照预设的周期性安排运行特定的命令或脚本。本文主要介绍两种常用的定时任务工具:at命令和crontab。 首先,at命令适用于一次性任务...

    linux 计划任务cron--怎么定时执行的指令

    ### Linux计划任务Cron详解及应用 #### 一、Cron简介 Cron是Linux系统中用于调度周期性任务的守护进程(Daemon),允许用户在固定时间或周期性地执行命令或脚本。通过Cron,用户可以设定复杂的定时任务,如定期...

    linux服务器配置定时任务教程

    Crontab是Linux中用于设置定时任务的工具,它的名字由“clock”与“table”两个词合并而来,意为时间表。Crontab可以定义复杂的定时规则,并能够支持各种脚本或命令的执行。 ##### 2.1 Crontab命令 - **crontab -l*...

    linux下定时执行计划任务

    ### Linux 下定时执行计划任务详解 #### 一、概述 在 Linux 操作系统中,定时执行计划任务是一项非常实用的功能,它可以自动地按照预设的时间周期执行特定的任务或脚本,比如定期备份数据、定时清理日志文件等。...

Global site tag (gtag.js) - Google Analytics