zoukankan      html  css  js  c++  java
  • Linux下crontab详解

    1、crond介绍
    crond是Linux下的任务调度命令,让系统定期执行指定程序。crond命令每分钟都会检查是否有要执行的工作,若有要执行的程序便会自动执行。
    linux下任务调度工作主要分两类:
    1)系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
    2)个人执行的工作:某个用户定期要做的工作,自动备份网站程序

    2、crond服务启动、关闭
    service crond start //启动服务
    service crond stop //关闭服务
    service crond restart //重启服务
    service crond reload //重新载入配置

    3、在系统启动时自动启动服务
    1)创建一个脚本crond.restart,内容如下:
    service crond restart
    2)把创建的脚本crond.restart放到/etc/rc.d/init.d目录下,这样就会每次开机自动运行脚本crond.restart。

    4、crontab命令(用于设定cron服务)
    crontab -u 
    //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
    crontab -l //列出某个用户cron服务的详细内容
    crontab -r //删除没个用户的cron服务
    crontab -e //编辑某个用户的cron服务

    //查看root用户的cron设置
    crontab -u root -l

    //删除oracle用户的cron设置
    crontab -u oracle -r

    //编辑cron服务
    crontab -u root -e

    5、创建任务调度的2种方式
    1)用crontab -e命令创建
    用crontab -e命令创建的任务调度存于/var/spool/cron中,其文件名与用户名一致。格式如下:
     分      小时     日       月      星期     命令
    0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)
    每个字段代表的含义如下:
    分       每个小时的第几分钟执行该任务
    小时    每天的第几个小时执行该任务
    日       每月的第几天执行该任务
    月       每年的第几个月执行该任务
    星期    每周的第几天执行该任务
    命令    指定要执行的程序

    "*"代表取值范围内的数字,
    "/"代表"每",
    "-"代表从某个数字到某个数字,
    ","分开几个离散的数字

    //10月~12月间,每周一、周三、周五,每隔2个小时,执行一次wwwbak.sh
    * */2 * 10-12 1,3,5 /home/tough/www/wwwbak.sh

    //每个月1-5号的每天22点,执行一次wwwbak.sh
    * 22 1-5 * * /home/tough/www/wwwbak.sh

    2)编辑/etc/crontab文件(文件格式同上)
    [root@toughhou ~]# more /etc/crontab 
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root

    # For details see man 4 crontabs

    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name  command to be executed

    注:cron服务每分钟不仅要读一次/var/spool/cron内的所有文件(个人执行的工作),还需要读一次/etc/crontab(系统执行的工作)。

    6、任务调度执行结果输出
    //10月~12月间,每周一、周三、周五,每隔2个小时,执行一次wwwbak.sh,并把执行结果输出到var/wwwbak.log文件中
    * */2 * 10-12 1,3,5 /home/tough/www/wwwbak.sh > /var/wwwbak.log 2 >&1
    注:2>&1 表示执行结果及错误信息。

     

  • 相关阅读:
    实习小白::(转) Cocos2d-x 3.0开发(五)关联程序逻辑与cocoStudio导出文件
    实习小白::(转)Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
    实习小白::(转) Cocos2d-x 3.0 开发(七)在程序中处理cocoStudio导出动画
    实习小白::(转) cocos2d-x使用cocosStudio编辑的动画文件
    (转)cocos2d-x 每帧动画的播放设置一个监听函数的做法
    Filter
    使用Cookie记住用户名和密码
    动态规划
    热分布
    背包问题
  • 原文地址:https://www.cnblogs.com/toughhou/p/3778779.html
Copyright © 2011-2022 走看看