命令还算经常用,只是时间格式有时候没记住,这里笔录一下吧。
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分钟,就会又重新执行新的一小时内的分钟定时间隔了。
相关推荐
这篇博文将探讨如何让非root用户在没有root权限的情况下修改自己的定时器配置。 首先,我们需要了解Cron的工作原理。Cron服务会周期性地检查所有用户的Crontab文件,并根据文件中的指令执行相应的任务。Crontab文件...
#### 二、Crontab命令详解 Crontab 命令用于配置和管理 crond 定时任务,它是用户与 crond 服务之间的桥梁。 **2.1 用户权限管理** Crontab 的使用权限可以通过以下两个文件进行控制: - **/etc/cron.deny**:这...
在 Linux 系统中,shell 定时器是一种非常有用的功能,可以让用户在指定的时间执行特定的任务。shell 定时器可以用于自动化一些重复性的任务,例如备份数据、发送邮件等。 一、shell 定时器的规则 shell 定时器的...
在Linux终端中,使用`crontab -e`命令编辑Crontab配置。根据你的需求,设置定时执行的时间规则。例如,如果你希望每天凌晨1点执行一次任务,可以添加以下行: ``` 0 1 * * * ...
- 安装与配置Cron:在Linux系统中,通过`crontab -e`命令编辑Cron配置。 - Cron任务编写:在Cron配置文件中添加定时任务,然后保存退出。 3. **Java定时任务**: - `MainExecutor.java`:可能包含了使用Java定时...
Linux的定时任务crontab是系统管理中不可或缺的一部分,它允许管理员或用户安排任务在特定的时间点自动执行。本文将深入探讨crontab的工作原理、使用方法以及与PHP等编程语言的结合应用。 首先,crontab是Unix和类...
每个用户都有自己的crontab文件,由crontab命令进行管理。时间格式采用五字段表示法(分钟、小时、日期、月份、星期),每个字段可以设定一个或多个值,用空格分隔。例如,"0 3 * * Mon-Fri /path/to/command" 表示...
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是一个强大的定时任务调度工具,用于在特定时间执行预定的任务。在许多场景下,我们可能需要在固定的时间自动访问某个URL,例如触发网站接口、更新数据或是执行自动化脚本。本篇文章将详细...
1. 首先,打开Terminal并输入`crontab -e`命令来编辑cron配置。 2. cron的语法比较特殊,每一行代表一个定时任务,格式如下: ``` * * * * * command-to-be-executed - - - - - | | | | | | | | | ----- Day of...
在理解`conciseSchedules`的知识点之前,我们先来了解一下`crontab`,它是Unix/Linux系统中用于设置周期性被执行的任务的一种机制,通过定时执行脚本或命令,满足自动化运维的需求。 `conciseSchedules`的核心特性...
在终端中,通过`crontab -e`命令编辑cron定时任务,设置合适的执行时间。 2. **PHP CLI**:通过CLI模式运行PHP,你可以创建一个无限循环的脚本,每次循环检查当前时间是否达到执行任务的条件。例如,你可以使用`...
1. **打开crontab配置**:使用`crontab -e`命令打开当前用户的cron配置文件。 2. **添加定时任务**:在编辑器中,按照`cron`的时间格式添加一行,例如,如果想每天凌晨1点运行脚本,可以写成`0 1 * * * /path/to/...
配置文件`crontab`存储在用户的家目录下,通过`crontab -e`命令编辑。Cron语法独特,定义了分钟、小时、日期、月份和星期几来指定任务执行时间。 2. **At命令**: 另一个时间控制工具是at命令,用于一次性执行未来...
Workerman + TP6 实现可视化定时任务 概述 Workerman + Thinkphp6 实现可视化秒级定时任务。兼容 Windows 和 Linux 系统。 ...因为定时任务本身,它不依赖任何框架,且提供了定时任务操作的接口,...定时器格式说明: 0
在Linux中,传统的Cron配置文件(/etc/crontab)或用户个人的crontab配置(通过`crontab -e`编辑)遵循以下格式: ```cron * * * * * command-to-be-executed - - - - - | | | | | | | | | ----- Day of week (0 - ...
Crontab是一种Unix/Linux系统中的定时任务调度命令,它允许用户定义一系列规则来执行计划任务。在Go中实现crontab定时器,就是将这种经典的时间调度机制移植到Go语言环境,让开发者能够利用Go的特性来编写和管理定时...
这个脚本通常包含一系列的Linux命令,如`mysqldump`用于导出数据库,`tar`用于打包文件,以及`cron`定时器来安排备份任务。 4. **mysqldump**:这是MySQL提供的一款实用程序,用于将数据库结构和数据导出为SQL语句...
6. 使用LINUX系统的CRONTAB工具来定时执行备份脚本。可以通过crontab -e命令来编辑定时任务,通过crontab -l命令来查看定时任务列表,通过more /var/log/cron命令来查看定时任务执行的日志。 7. 设置定时任务,例如...
5. **添加到cron**:使用`crontab -e`命令编辑cron配置,并添加一行表示何时运行该脚本的语句。例如,`0 * * * * /path/to/scriptname.sh`会在每小时的整点运行。 这个"thirsty-master"目录可能包含了完整的脚本...