crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此  任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

1语法

*  *  *  *  *  command 
    分 时 日 月 周 命令 
    第1列表示分钟1~59 每分钟用*或者 */1表示 
    第2列表示小时1~23(0表示0点) 
    第3列表示日期1~31 
    第4列表示月份1~12 
    第5列标识号星期0~6(0表示星期天) 
    第6列要运行的命令 
2例子

    30  21 *  *  *  /usr/local/etc/rc.d/lighttpd restart 

每晚的21:30重启apache。 

    
    45  4  1,10,22  *  *  /usr/local/etc/rc.d/lighttpd restart 

每月1、10、22日的4 : 45重启apache。 

    
    10 1  *  *  6,0  /usr/local/etc/rc.d/lighttpd restart 

每周六、周日的1 : 10重启apache。 


    0,30  18-23  *  *  *  /usr/local/etc/rc.d/lighttpd restart 

每天18 : 00至23 : 00之间每隔30分钟重启apache。 


    0 23  *  *  6  /usr/local/etc/rc.d/lighttpd restart 

每星期六的11 : 00 pm重启apache。 

    0  */1  *  *  *  /usr/local/etc/rc.d/lighttpd restart 
    每一小时重启apache 

    0 23-7/1  *  *  *  /usr/local/etc/rc.d/lighttpd restart 
    晚上11点到早上7点之间,每隔一小时重启apache 

3命令
    crontab -l :列出用户目前的定时任务
    crontab -r : 删除目前的时程表 
    crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI.
    
   /sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置    
    
        你也可以将这个服务在系统启动的时候自动启动:
 
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start
 
 4新增调度任务
    方式1:在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出      
                推荐自定义的任务使用crontab -e命令添加,退出后用/etc/init.d/crond restart命令重启crond进程,官方文件说不用重启进程,但我遇到不重启无法运行任务的情况。
     方式2:编辑/etc/crontab文件
             cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户            的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/      //使用者运行的路径,这里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本
 
大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。


5后台执行命令

* * * * * command &

当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。

可以把输出接口放到某一个温江中

2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做log.file 的文件中

command >log.file 2>&1 &


3. 系统级任务调度与用户级任务调度
系统级任务调度主要完成系统的一些维护操作,用户级任务调度主要完成用户自定义的一些任务,可以将用户级任务调度放到系统级任务调度来完成(不建议这么做),但是反过来却不行,root用户的任务调度操作可以通过“crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件,需要注意的是,如果要定义一个定时重启系统的任务,就必须将任务放到/etc/crontab文件,即使在root用户下创建一个定时重启系统的任务也是无效的。


个人工作案例
    定期删除文件夹下10天前的日志
    1编写脚本 clearlog.sh
            find /data/web/tomcat_lianyun/log/*.log.* -ctime +10|xargs rm -f 
    2添加到定时任务中
            crontab -e
                30 8 * * * /data/web/tomcat_lianyun/clearlog.sh 
            wq保存退出即可(如果未执行,记得重启服务即可)





每天一个linux命令9之crontab 定时任务的更多相关文章

  1. 【转载】每天一个Linux命令

    目  录 每天一个linux命令(1)  : ls 命令 每天一个linux命令(2)  : cd 命令 每天一个linux命令(3)  : pwd 命令 每天一个linux命令(4)  : mkdi ...

  2. 每天一个linux命令目录

    出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

  3. 每天一个linux命令-转载

    每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html   开始详细系统的学习linux常用命令 ...

  4. [转]每天一个linux命令目录

    [转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...

  5. 每天一个Linux命令 (转)

    一. 文件目录操作命令: 1.每天一个linux命令(1):ls命令 2.每天一个linux命令(2):cd命令  3.每天一个linux命令(3):pwd命令 4.每天一个linux命令(4):mk ...

  6. 每天一个linux命令【转】

    转自:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

  7. 每天一个linux命令(目录)

    转:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天 ...

  8. 【转】每天一个linux命令目录

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列 ...

  9. 64个命令,每天一个linux命令目录, shutdown,tee,rcp,

    每天一个linux命令目录 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令.学习的主要参考资料为: 1.<鸟哥的linux私房菜> 2.htt ...

随机推荐

  1. 【PTA】Tree Traversals Again

    题目如下: An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For e ...

  2. bitbucket相关操作

    常见命令: git checkout -b develop master 创建Develop分支的命令 git checkout master 切换到Master分支 git merge --no-f ...

  3. c++知识点总结--友元&运算符重载

    友元函数(不属于类) 可以访问类的私有变量,以及私有函数 友元函数在类内声明需要friend关键字,类外定义就不需要 友元函数可以直接在类内定义 友元函数必须包含对象指针   友元类(不适用继承,只适 ...

  4. NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet

    springMVC 内嵌jetty时,出现了NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet: 添加了 ...

  5. 基于MPLAB X IDE配置位设置讲解

    http://blog.csdn.net/superanters/article/details/8541171 在讲基于MPLAB X IDE 配置位配置前我先讲讲如何配置配置位. 比如PICLF1 ...

  6. Avito Cool Challenge 2018:C. Colorful Bricks

    C. Colorful Bricks 题目链接:https://codeforces.com/contest/1081/problem/C 题意: 有n个横向方块,一共有m种颜色,然后有k个方块的颜色 ...

  7. 洛谷P2564 [SCOI2009]生日礼物

    题目背景 四川2009NOI省选 题目描述 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可 ...

  8. java集合类深入分析之PriorityQueue(二)

    PriorityQueue介绍 在平时的编程工作中似乎很少碰到PriorityQueue(优先队列) ,故很多人一开始看到优先队列的时候还会有点迷惑.优先队列本质上就是一个最小堆.前面一篇文章介绍了堆 ...

  9. NuGet Package Manager 实用命令

    Creating Help Pages for ASP.NET Web API Install-Package Microsoft.AspNet.WebApi.HelpPage Install-Pac ...

  10. 仿Orm 自动生成分页SQL

    分页的写法 自从用上了Orm,分页这种事就是腰不酸腿不痛了.不过有时候想用纯粹的ado.net来操作,希望返回的数据是原生的DataTable或DbDataReader类似的东西,故研究下怎么生成分页 ...