我用CentOS为例。
简介:
cron来源于希腊单词chronos(意为“时间”),是linux系统下一个自动执行指定任务的程序。例如,你想在每晚睡觉期间创建某些文件或文件夹的备份,就可以用cron来自动执行。
CentOS的cron默认是开机启动的,如果没有开机启动可以用chkconfig
[root@chenlb-pc ~]# chkconfig crond on
查看crond是否开机启动
[root@chenlb-pc ~]# chkconfig --list crond
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
说明已经是开机启动。
cron是执行crontab里的任务,所以要把任务加到crontab里。
1.查看当前用户的任务。
[chenlb@chenlb-pc ~]$ crontab -l
no crontab for chenlb
现在还没有任务,可以用crontab -e来编辑任务(可以直接输入crontab是新建,然后回车,Ctrl+D保存,注意这样会覆盖以前的,不建议直接用crontab),然后再新的文件里输入以下内容。
2.编辑任务
[chenlb@chenlb-pc ~]$ crontab -e
*/1 * * * * echo `date` >> /home/chenlb/cron-log.txt
上面的意思是指每一分钟打印时间放到/home/chenlb/cron-log.txt文件里,过一分钟后看是否有效,如下命令。
[chenlb@chenlb-pc ~]$ tail /home/chenlb/cron-log.txt
Wed Jul 2 15:43:01 CST 2008
3.删除任务
[chenlb@chenlb-pc ~]$ crontab -r
说明:如果是root除了有以上的功能,还有-u参数为用户查看、编辑、删除任务,如用chenlb编辑任务。
[root@chenlb-pc ~]# crontab -u chenlb -e
解说下任务的语法:
min hour day month week user command
忽略用“*”,每多少的用“/多少”,多个的用“,”,到关系的用“-”
---------------------------------来自htmlor's blog的示例----------------------------------------------
以下是cron语句中的字段与字段说明:
字段 |
说明 |
1 |
分钟(0-59) |
2 |
小时(2-24) |
3 |
日期(1-31) |
4 |
月份(1-12;或英文缩写Jan、Feb等) |
5 |
周几(0-6,0为周日;或单词缩写Sun、Mon等) |
6 |
用户名(执行命令时以此用户的身份) |
7 |
要执行的命令(路径) |
|
|
现在来看第一行:
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
这条语句将在每天的凌晨3点12分(03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc
命令。>> /dev/null 2>&1
表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。
这条语句可以变得稍微复杂一点:
30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
它将在6月13日周一的15:30运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc
命令。
以下语句可以达到同样的效果:
30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
如果你想以用户joey的身份每小时的第15分钟运行某个程序,可以使用:
15 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1
其中的星号(*)是通配符,表示cron将忽略这个字段。
如果你想每两小时就运行某个程序,可以在小时字段里使用 */2
。它将会在2点,4点,6点……22点,24点运行。具体语句如下:
0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2>&1
cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分运行某个程序,可以在分钟字段使用 15,30
:
15,30 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1
如果你想在每月的第一周(即1号到7号)每天的指定时间运行某个程序,可以在日期字段使用 1-7
:
15,30 */2 1-7 * * joey /usr/bin/somecommand >> /dev/null 2>&1
这条语句将在每月的第1-7日每两小时的15分和30分(02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand
命令。
如果你想在每天的16:18执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:
18 16 * * * root run-parts /home/username/cron >> /dev/null 2>&1
如果你想保存某个程序的输出结果, 可以把 >> /dev/null 2>&1
替换为 >> /home/user/somecommand.log 2>&1
。
参考:
http://blog.htmlor.com/2006/07/25/cron_guide/
分享到:
相关推荐
了解并熟练使用Cron前端生成工具,有助于提升开发效率,尤其是当需要设置多个定时任务时。它可以帮助我们避免因语法错误导致的任务执行失败,同时简化了在各种项目和环境中部署定时任务的过程。 在压缩包文件中,...
如果需要根据其他条件动态改变cron选择器的配置,可以使用`cron.config()`方法: ```javascript cron.config({ elem: '#cronDemo', disableMinute: true //禁用分钟选择 }); ``` 通过以上步骤,你可以在...
标签中提到的"Cron.dll"可能是一个这样的库,但具体使用方法需要查看库的文档或源码。 在提供的压缩包文件中,"Q.Study.rar"可能是包含学习资料或示例项目,而"cronnet-code-5.zip"很可能包含了一个C#实现Cron...
Cron表达式是Unix/Linux系统中的定时任务调度器Cron所使用的语法,也被广泛应用于Java世界,例如Quartz、Spring等框架。它允许用户以字符串的形式定义任务的执行时间,如分钟、小时、日期等。这个压缩包文件包含了对...
#### 三、crontab 命令及使用方法 **1. crontab 命令语法** crontab 命令的基本语法如下: ```bash crontab [-e[UserName]|-l[UserName]|-r[UserName] |-v[UserName]|File] ``` 其中: - `-e`:编辑当前用户的 ...
- 使用静态方法`CronExpression.Parse("你的Cron表达式")`解析表达式,得到CronExpression对象。 - 通过`NextOccurrences(DateTime now)`或`GetNextOccurrence(DateTime now)`方法,获取下一个触发时间点。 在...
### 插件使用方法 1. **引入资源**:首先,你需要在HTML文件中引入BootStrap的CSS和JS文件,以及Cron表达式选择器的JS文件。通常,这些文件会从CDN或本地文件系统加载。 2. **HTML结构**:创建一个基础的BootStrap...
总的来说,这个源代码项目提供了一种在Windows桌面应用程序中利用Cron表达式进行任务调度的方法。开发者可以借此学习如何在C#的Winform环境下集成Quartz.NET,以及如何处理Cron表达式的解析和应用。这对于需要在特定...
Spring框架中的`@Scheduled`注解则提供了声明式的方法来定时执行任务,只需在方法上添加该注解并提供cron表达式即可。 对于这个"Cron表达式生成器java版"项目,其内部可能包含了一个解析用户输入并生成合法cron字符...
cron表达式是Unix/Linux系统中用于设置定时任务的一种标准格式,它允许用户按照特定的时间间隔或特定时间点执行任务。在Java、JavaScript等编程语言中,我们也可以利用cron表达式来实现定时任务的功能。`...
用户在界面上输入cron表达式后,前端应用会调用`later.js`的方法来解析表达式,然后计算出最近的执行时间并显示在界面上。这通常涉及到JavaScript的日期对象(Date)的操作,以及可能的时间差计算。 在实际应用中,...
5. 状态管理:使用React的状态管理和生命周期方法,保持组件状态的一致性。 6. 样式:Ant Design的CSS类会被应用到组件上,提供一致且美观的外观。 开发这样一个组件,开发者需要熟悉React的组件化思想,理解...
cron表达式是Linux系统中广泛使用的定时任务调度机制,它允许用户按照特定的时间间隔执行任务。在PHP开发中,为了实现类似的功能,开发者通常会利用像CronExpression这样的库来解析和处理cron表达式。本文将深入探讨...
通常,源码中会包含测试用例、文档和示例,这些都能帮助你更好地掌握`node-cron`的使用方法。 总的来说,`node-cron` 是一个强大的前端开源库,它简化了Node.js环境下的定时任务编程,让开发者能够更专注于业务逻辑...
Cron表达式的一些特殊字符和用法: - 星号(*):代表所有可能的值,例如`* * * * * *`表示每秒执行一次。 - 范围:如`10-12`表示10点到12点。 - 列表:使用逗号分隔,如`1,5,10`表示第1、5和10分钟执行。 - 步进值...
在压缩包文件"ouqiang-gocron-9f9c663"中,可能包含了gocron的源代码、示例、文档或测试用例,你可以通过查看这些内容来更深入地理解gocron的工作原理和使用方法。此外,通过阅读源代码,你还可以学习到Go语言的并发...
3.需要传的值,maxHeight="450px"//最大高, @changeCron="changeCron"//方法,:cronValue="cronValue"//cron表达式, :showCronModal="showCronModal"//打开弹框,style="flex: 0.25"//样式 4.// cron子组件传的...
### Linux任务计划Cron文档使用详解 #### 一、Cron简介与基本操作 Cron是Linux系统中用于执行周期性任务的一种守护进程。通过Cron可以方便地安排...掌握Cron的使用方法对于Linux系统管理员来说是非常重要的技能之一。
`CronExpParserUtil`的核心方法是`translateToChinese`,它接受一个cron表达式字符串作为输入,并返回该表达式的中文解释。在方法中,首先通过`Assert.hasText`和`CronExpression.isValidExpression`进行参数校验,...
使用"Cron表达式生成工具",开发者可以直观地选择时间单位的值,工具会自动生成对应的Cron表达式。这极大地简化了任务调度的配置过程,避免手动编写复杂的字符串可能导致的错误。 工具可能包含以下功能: - 选择...