`
zl378837964
  • 浏览: 189698 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Linux定时器之crontab命令格式配置

阅读更多

 

命令还算经常用,只是时间格式有时候没记住,这里笔录一下吧。

crontab -l  列出crontab文件

crontab -e 编辑 

注意: %在crontab中被认为是newline,要用\来escape才行;比如有"date +%Y%m%d",必须替换为"date +\%Y\%m\%d"

crontab -r  删除  如果不希望删除写好的crontab文件,在该crontab文件前添加#将该文件注释掉。

 

crontab中的输出配置:

crontab中经常配置运行脚本输出为:>/dev/null 2>&1,来避免crontab运行中有内容输出。

shell命令的结果可以通过‘> ’的形式来定义输出

/dev/null 代表空设备文件

> 代表重定向到哪里,例如:echo "123" > /home/123.txt

1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"

2 表示stderr标准错误

& 表示等同于的意思,2>&1,表示2的输出重定向等同于1,上述中就表示也输出到空设备;

 

尤其要注意的定时时间的配置

第1列分钟1~59

第2列小时1~23(0表示零点)

第3列日1~31

第4列月1~12

第5列星期0~6(0表示星期天)

 

crontab的格式:

分 时 日 月 星期 需要运行的命令

 

这有一些例子:

30 21 * * * rm /admin/logs/error.log

上面的例子表示每晚的21:30 删除指定日志

 

45 4 1,10,22 * * rm /admin/logs/error.log

上面的例子表示每月1、10、22日的4 : 45 删除指定日志

 

10 1 * * 6,0 rm /admin/logs/error.log

上面的例子表示每周六、周日的1 : 10 删除指定日志

 

0,30 18-23 * * * rm /admin/logs/error.log

上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟 删除指定日志

 

0 23 * * 6 rm /admin/logs/error.log

上面的例子表示每星期六的11 : 00 pm 删除指定日志

 

0 */1 * * * rm /admin/logs/error.log

每一小时删除指定日志

* */1 * * * rm /admin/logs/error.log(相当于不限时间按最小粒度 * * * * * sh

每分钟删除指定日志

 

0 23-7/1 * * * rm /admin/logs/error.log

晚上11点到早上7点之间,每隔一小时 删除指定日志

 

0 11 4 * mon-wed rm /admin/logs/error.log

每月的4号与每周一到周三的11点 删除指定日志

 

0 1 1 jan * rm /admin/logs/error.log

一月一号的1点 删除指定日志

 

注意:上面有个蓝色注意点,就是不同单位时间的关系。

 

比如每5分钟查看一下日志,我们可以这么写:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /command

这样肯定是没有问题的,但是就写书写起来非常复杂,简化一下可以这么写:

0-55/5 * * * * /command

这样的写法已经简化了很多,大家还是觉得麻烦,那么可以这样写:

*/5 * * * * /command

这句就表示在0,5,10,15,20,25,30,35,40,45,50,55分钟的时候执行命令,即每隔5分钟执行命令。

 

注意:这里也有一个注意点(除号 / 的使用):

 

只有能够被整除的步长值才能表达与我们理解相一致确切的含义,对于分钟来说只有 */2,*/3,*/4,*/5,*/6,*/10,*/12,*/15,*/30,对于小时来说则只有*/2,*/3,*/4,*/6,*/8,*/12。

对于日期来说,如果使用*/5,则不能保证每5天执行一次,到月底的时候可能只执行1天、2天或3天后就停止了,这取决与大小月、平闰年。这是因为cron 是没有状态的,它不能够记录上次执行的是什么时间,只能根据当前的时间来判断是否需要执行。

而对于分钟位 */13 来说,表示在分钟这个范围内,即0-59分钟,任务会每13分钟执行一次。

即:0,13,26,39,52;之后再间隔8分钟,就会又重新执行新的一小时内的分钟定时间隔了。

 

 

 

0
0
分享到:
评论

相关推荐

    Linux非root用户修改定时器配置

    这篇博文将探讨如何让非root用户在没有root权限的情况下修改自己的定时器配置。 首先,我们需要了解Cron的工作原理。Cron服务会周期性地检查所有用户的Crontab文件,并根据文件中的指令执行相应的任务。Crontab文件...

    利用Linux中的crontab实现分布式项目定时任务功能

    #### 二、Crontab命令详解 Crontab 命令用于配置和管理 crond 定时任务,它是用户与 crond 服务之间的桥梁。 **2.1 用户权限管理** Crontab 的使用权限可以通过以下两个文件进行控制: - **/etc/cron.deny**:这...

    shell定时器与shell发送邮件给到邮箱

    在 Linux 系统中,shell 定时器是一种非常有用的功能,可以让用户在指定的时间执行特定的任务。shell 定时器可以用于自动化一些重复性的任务,例如备份数据、发送邮件等。 一、shell 定时器的规则 shell 定时器的...

    基于thinkphp框架的定时器(定时执行任务)

    在Linux终端中,使用`crontab -e`命令编辑Crontab配置。根据你的需求,设置定时执行的时间规则。例如,如果你希望每天凌晨1点执行一次任务,可以添加以下行: ``` 0 1 * * * ...

    ssh定时器

    - 安装与配置Cron:在Linux系统中,通过`crontab -e`命令编辑Cron配置。 - Cron任务编写:在Cron配置文件中添加定时任务,然后保存退出。 3. **Java定时任务**: - `MainExecutor.java`:可能包含了使用Java定时...

    详细介绍Linux的定时任务crontab

    Linux的定时任务crontab是系统管理中不可或缺的一部分,它允许管理员或用户安排任务在特定的时间点自动执行。本文将深入探讨crontab的工作原理、使用方法以及与PHP等编程语言的结合应用。 首先,crontab是Unix和类...

    vixie-cron-4.1.rar_centos-s002_crontab source code_vixie-cron_vi

    每个用户都有自己的crontab文件,由crontab命令进行管理。时间格式采用五字段表示法(分钟、小时、日期、月份、星期),每个字段可以设定一个或多个值,用空格分隔。例如,"0 3 * * Mon-Fri /path/to/command" 表示...

    Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路

    1、crontab执行配置 * * * * * cd /项目目录 && ./auto_start.sh >> /log/auto.out 2、Shell脚本 #!/bin/bash #导入环境变量 export LANG=en_US.UTF-8 export JAVA_HOME=/usr/local/java export C

    Linux使用Crontab定时访问某个路由地址的方法

    在Linux系统中,Crontab是一个强大的定时任务调度工具,用于在特定时间执行预定的任务。在许多场景下,我们可能需要在固定的时间自动访问某个URL,例如触发网站接口、更新数据或是执行自动化脚本。本篇文章将详细...

    mac定时器的使用

    1. 首先,打开Terminal并输入`crontab -e`命令来编辑cron配置。 2. cron的语法比较特殊,每一行代表一个定时任务,格式如下: ``` * * * * * command-to-be-executed - - - - - | | | | | | | | | ----- Day of...

    conciseSchedules这是一个简洁的兼容crontab语法的定时器工具

    在理解`conciseSchedules`的知识点之前,我们先来了解一下`crontab`,它是Unix/Linux系统中用于设置周期性被执行的任务的一种机制,通过定时执行脚本或命令,满足自动化运维的需求。 `conciseSchedules`的核心特性...

    PHP定时器(强大的功能)

    在终端中,通过`crontab -e`命令编辑cron定时任务,设置合适的执行时间。 2. **PHP CLI**:通过CLI模式运行PHP,你可以创建一个无限循环的脚本,每次循环检查当前时间是否达到执行任务的条件。例如,你可以使用`...

    Linux定时任务以及脚本编写docx

    1. **打开crontab配置**:使用`crontab -e`命令打开当前用户的cron配置文件。 2. **添加定时任务**:在编辑器中,按照`cron`的时间格式添加一行,例如,如果想每天凌晨1点运行脚本,可以写成`0 1 * * * /path/to/...

    支持linux的时间控件

    配置文件`crontab`存储在用户的家目录下,通过`crontab -e`命令编辑。Cron语法独特,定义了分钟、小时、日期、月份和星期几来指定任务执行时间。 2. **At命令**: 另一个时间控制工具是at命令,用于一次性执行未来...

    http-crontab:Workerman + ThinkPHP6 实现后台可视化定时任务管理

    Workerman + TP6 实现可视化定时任务 概述 Workerman + Thinkphp6 实现可视化秒级定时任务。兼容 Windows 和 Linux 系统。 ...因为定时任务本身,它不依赖任何框架,且提供了定时任务操作的接口,...定时器格式说明: 0

    Linux秒级间隔的计划任务脚本

    在Linux中,传统的Cron配置文件(/etc/crontab)或用户个人的crontab配置(通过`crontab -e`编辑)遵循以下格式: ```cron * * * * * command-to-be-executed - - - - - | | | | | | | | | ----- Day of week (0 - ...

    基于go实现的定时执行器

    Crontab是一种Unix/Linux系统中的定时任务调度命令,它允许用户定义一系列规则来执行计划任务。在Go中实现crontab定时器,就是将这种经典的时间调度机制移植到Go语言环境,让开发者能够利用Go的特性来编写和管理定时...

    linux下 MYSQL 自动备份工具

    这个脚本通常包含一系列的Linux命令,如`mysqldump`用于导出数据库,`tar`用于打包文件,以及`cron`定时器来安排备份任务。 4. **mysqldump**:这是MySQL提供的一款实用程序,用于将数据库结构和数据导出为SQL语句...

    DB2自动备份数据库(DB2 MOVE)

    6. 使用LINUX系统的CRONTAB工具来定时执行备份脚本。可以通过crontab -e命令来编辑定时任务,通过crontab -l命令来查看定时任务列表,通过more /var/log/cron命令来查看定时任务执行的日志。 7. 设置定时任务,例如...

    linux-一个提醒你喝水的zshbash脚本

    5. **添加到cron**:使用`crontab -e`命令编辑cron配置,并添加一行表示何时运行该脚本的语句。例如,`0 * * * * /path/to/scriptname.sh`会在每小时的整点运行。 这个"thirsty-master"目录可能包含了完整的脚本...

Global site tag (gtag.js) - Google Analytics