我用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/
分享到:
相关推荐
3.需要传的值,maxHeight="450px"//最大高, @changeCron="changeCron"//方法,:cronValue="cronValue"//cron表达式, :showCronModal="showCronModal"//打开弹框,style="flex: 0.25"//样式 4.// cron子组件传的...
克朗 cron是一个Go库,它解析cron表达式并输出cron时间表的可读描述。 例如,给定表达式*/5 * * * * ,它将Every 5... go get -u -v github.com/lnquy/cron用法// Init with default EN localeexprDesc , _ := cron . N
think-cron 计划任务安装方法composer require yunwuxin/think-cron使用方法创建任务类<?phpnamespace app\task;use yunwuxin\cron\Task;class DemoTask extends Task{ public function configure() { $this->...
为什么我没有理由编写这个包,但仍然没有合理的方法来测试 cron 下的命令。 环境中总是有一些废话,你必须让它通过管道标准输出到一个文件,然后像白痴一样等待一分钟。 当然,没有明显的原因没有任何React,所以你...
用法 码头工人 $docker run anarcher/go-cron -h Usage of go-cron: -cpu=4: maximum number of CPUs -file="crontab": crontab file path $ docker run go-cron -file=crontab 2015/06/18 07:53:38 Add cron ...
在Vercel上使用 for Next.js应用程序进行Cron作业▲ 动机 由于Vercel平台是事件驱动的,因此不维护正在运行的服务器,因此您无法真正在Next.js应用程序中安排或上的调用。 尽管有许多现有的服务可以提供预定的cron...
用法 在Fastify服务器上注册插件,并定义要创建的作业列表: 如果(像我一样)您总是忘记cron时代的语法,请查看 。 import Fastify from 'fastify' // Import it this way to benefit from TypeScript typings ...
使用firebase存储和运行cron作业。 安装 使用安装: $ npm install --save firebase-cron 用法 var Cron = require ( 'firebase-cron' ) ; API Cron主类,用于创建新实例来管理cron作业。 参数 ref {对象}:一个...
角冠词用户以图形方式构建cron表达式的基本方法。 演示可以在找到。 要求: AngularJS 1.5+用法: 在您的应用程序中包含依赖项 angular . module ( 'myApp' , [ 'angular-cron-gen' ] ) 包括提供的JS和CSS文件(或...
安装npm install cron-validator用法需要语法: const cron = require ( 'cron-validator' ) ;if ( cron . isValidCron ( '* * * * *' ) ) { // Do something} 或使用TypeScript导入语法: import { isValidCron } ...
本文介绍了在Unix和Linux操作系统中Cron的用法。
用法 const cronTime = require ( 'cron-time-generator' ) ; // OR (Typescript) import cronTime from "cron-time-generator" ; cronTime . everyMinute ( ) ; // * * * * * cronTime . everyHour ( ) ; // 0 * *...
Cronos是一个.NET库,用于解析Cron表达式并计算下一次出现。 它是设计时考虑时区,并直观地处理(又名夏令时)转换为* nix中的Cron。 请注意,该库不包含任何任务/作业计划程序,仅适用于Cron表达式。 支持带有可...
ReactJS Cron 使用构建的React cron编辑器 在实时演示和用法特征零依赖,除了React和antd 支持所有标准cron表达式支持几个月和一周的cron名称支持cron快捷方式周日支持“ 7” 支持带输入的双向同步绑定支持语言环境...
Cron描述符 ...使用画中画 pip install cron-descriptor 用法示例 # Simple from cron_descriptor import get_description , ExpressionDescriptor print ( get_description ( "* 2 3 * *" )) #OR prin
灯塔克朗 Cron进行多批审核,并发出结果以发送到...用法 const LighthouseCron = require ( 'lighthouse-cron' ) ; const lighthouseCron = new LighthouseCron ( [ { url : 'https://www.google.com/' } ] , '
安装将此行添加到您的应用程序的Gemfile中: gem 'dj_cron'然后执行: $ bundle或将其自己安装为: $ gem install dj_cron用法在Rails项目目录中,运行: bundle exec djc-enqueue FooJob BarJob ...FooJob和BarJob...
本教程主要介绍了EZ Publish中Cronjob脚本的使用,如何配置cronjob,以及如何运行cronjob。
它使用与常规cron相似的语法,并允许您直接在redis上调度redis命令。 这个项目的灵感来自PostgreSQL扩展 。 由于redis命令只能在redis中一次由一个线程运行,因此redis_cron在单个线程中按顺序运行计划的作业。 ...
Itamae :: Plugin :: Resource :: Cron 欢迎使用您的新宝石!...用法 待办事项:在此处写下使用说明 发展 签出仓库后,运行bin/setup来安装依赖项。 然后,运行rake spec来运行测试。 您也可以运行bin/console进