cron服务
相对与at,cron的优点就是能够周期性的执行某个命令,at却只能执行一次,cron的后台进程名字是crond ,cron也是system V的服务,所以我们可以service crond start|stop 来启动和关闭此服务,也可以使用chkconfig或者ntsysv来选择cron服务的默认开启,这些命令在以前我们都讲过的
命令:
#crontab -e 编辑当前用户的cron表
#crontab -l 查看当前用户的cron表
#crontab -r 删除当前用户的cron进程
#crontab -u 用户名 以某用户的身份来控制cron表
还有个重要的知识点,就是当用户的计划任务建立后是存放在var/spool/cron这个目录
当使用crontab -e编辑当前用户的cron表后,会出现一个vi文件,cron的格式是这样的。分成两列,左边是时间,右边是运行的命令。时间是由5个部分组成。
例:
* * * * * wall hello everyone
5个星号分别代表:minute hour day-of-month month-of-year day-of-week ,而wall hello everyone 这是命令内容。上面的意识是每分每小时每天每月每周广播hello everyone。具体时间大家可以自己定义。如果要每两分钟发送就用*/2代替第一个*。也可以是用具体时间来表示。
我们使用crontab -e编辑当前用户的cron表
这里的5个星号就代表的时间和日期:
第一个*星号代表个小时的第几分钟:minute 范围是从0-59
第二个*星号代表每天的第几个小时:hour 范围是从0-23
第三个*星号代表每月的第几个日:day-of-month 范围从1-31
第四个*星号代表没年的第几个月:month-of-year 范围从1-12
第五个*星号代表每周的星期几:day-of-week 范围从0-6,其中0表示星期日
用户名:也就是执行程序要通过哪个用户来执行,这个一般可以省略;
命令:执行的命令和参数。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表 示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余以此类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余以此类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余以此类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余以此类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例1:如果我要表示9月10日25分执行ls var/spool/cron任务怎么表示?
25 * 10 9 * ls var/spool/cron
由于我没表示小时,所以就只能里面为每小时
例2:我要在每周日,每分钟执行wall Hello redking.blog.51cto.com这个命令,时间怎么表示?
*/1 * * * 0 wall Hello redking.blog.51cto.com
*/ 表示每多少分钟执行一次
例3:每晚的21:30重启apache。
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
例4:每月1、10、22日的4 : 45重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
例5:每周六、周日的1 : 10重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
例6:在每天18 : 00至23 : 00之间每隔30分钟重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
例7:每一小时重启apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
例8:晚上11点到早上7点之间,每隔一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
例9:每月的4号与每周一到周三的11点重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
例10:一月一号的4点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
例11:在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup
0 6-12/3 * 12 * /usr/bin/backup
例12:每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
cron服务的更多相关文章
- linux的cron服务及应用
Linux下的Cron用于定时执行设置的周期性指令,是Linux的内置服务,可以用以下的方法启动.关闭这个服务: /sbin/service crond start //启动服务 /sbin/serv ...
- cron服务 ubuntu
linux 定时执行crontab crontab -e 进入一个vi 编辑界面 在最后一行加上 */30 * * * * netstat > /tmp/net.log 表示每隔30分就执行n ...
- Linux下的定时任务 - Cron服务
最近搞咕自己的笔记系统,虽然现在是个人的使用,对于数据库的数据还是比较少,但是安全还是一个我必须注意的东西. (特别是前段时间中了比特币的病毒之后,更是让我关注了我的主机的安全的问题.) 今天的随记是 ...
- Linux 中的定时处理 cron服务
cron服务 在LINUX中,周期执行的任务一般由cron这个守护进程来处理 当安装完操作系统后默认会安装此服务工具并且会自动启动crond,该进程会每分钟定期检查是否有要执行的任务,若有则执行. c ...
- 关于linux上cron服务的python封装工具
关于cron:定时任务服务,一般linux自带且已启动.(pgrep cron查看cron服务是否启动了.) 关于plan:一个通过python来定制cron服务的工具.其官网:http://plan ...
- 为当前用户创建cron服务
为当前用户创建cron服务 1. 键入 crontab -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...
- Linux的cron服务
可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond stop /sbin/service crond restart /sbin ...
- linux的服务管理(centos6和Centos7)和网络管理(网卡配置),计划服务cron
服务和网络 管理 init ifcfg ens33 1.服务: Linux系统中提供的功能,统称为服务,如:at服务.cron服务.web服务.FTP服务.sshd服务等. 服务是由已经在运行的进程 ...
- linux配置定时任务cron/定时服务与自启动
实现linux定时任务有:cron.anacron.at,使用最多的是cron任务 名词解释 cron--服务名:crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 ...
随机推荐
- splay区间翻转
原题P3391 [模板]文艺平衡树(Splay) 题目背景 这是一道经典的Splay模板题——文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: ...
- 在 Node.js 中引入模块:你所需要知道的一切都在这里
本文作者:Jacob Beltran 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58eaf471a58c240ae35bb ...
- 关于不同数据库的连接配置(MySql和Oracle)
mysql: driverClass=com.mysql.jdbc.Driver #在和mysql传递数据的过程中,使用unicode编码格式,并且字符集设置为utf-8,插入数据库防止中文乱码 ur ...
- HDU--2639 Bone Collector II(01背包)
题目http://acm.hdu.edu.cn/showproblem.php?pid=2639 分析:这是求第K大的01背包问题,很经典.dp[j][k]为背包里面装j容量时候的第K大的价值. 从普 ...
- QEventLoop配合QTimer实现阻塞任务超时处理
A阻塞主线程正常运行,需要做特殊处理. 以下代码可实现,A阻塞或者正常处理时,均不阻塞主线程正常处理. QEventLoop eventloop; // use point to manage eve ...
- 如何实现shell并发 一个入门级可控多线程shell脚本方案
如何实现shell并发 很多人都问我如何写shell脚本,如何实现同时给三台ftp服务器上传文件,如何同时检测三台服务器是否alive等,其实这就是想实现shell的并发.那么shell并 ...
- (一)SpringBoot入门【基于2.x版本】
SpringBoot入门[基于2.x版本] 一.SpringBoot简介 首先大家学习SpringBoot的话,我希望大家是有一定java基础的,如果是有Spring的基础的话,上手会更加得心应手,因 ...
- Hibernate继承注解
hibernate应用中,继承的用途或目的主要有两点: 组件化:故明思义,把重复性的代码抽取成组件,以便重用和维护.hibernate应用中,一些重复的字段,重复的映射配置,就需要抽取成组件. 多态性 ...
- Java内功修炼系列一责任链模式
在上一节的拦截器中提到,程序的设计者一般会用拦截器替替代动态代理,将动态代理的逻辑隐藏起来,而把拦截器接口提供给开发者,使开发者不需要关系动态代理的具体实现过程,但是有时候需要多个拦截器,而且拦截器之 ...
- OPENCV 图像缩放
工程下载地址 https://download.csdn.net/download/qq_16596909/11522434 opencv4 java netbeans开发,基于maven 可以按照倍 ...