zoukankan      html  css  js  c++  java
  • linux定时程序——crontab

    Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序

    使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,

    cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:

    crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

    crontab -l //列出某个用户cron服务的详细内容

    crontab -r //删除没个用户的cron服务

    crontab -e //编辑某个用户的cron服务

    比如说root查看自己的cron设置:crontab -u root -l

    再例如,root想删除fred的cron设置:crontab -u fred -r

    在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

    进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

    编辑/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。

    需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上

    service crond start

    如果还需要在系统启动时加载其他服务,可以继续加上其他服务的启动命令。

    比如: service mysqld start

    格式:

    Crontab文件的每一行由六个域(minutes、hours、day of month、month、day of week、 command)组 成,域之间用空格或Tab分开,其中:

    minutes: 分钟域,值的范围是0到59

    hours: 小时域,值的范围是0到23

    day of month: 日期,值的范围是1到31

    month: 月份,值的范围是1到12

    day of week: 星期,值的范围是0到6,星期日值为0

    command: 所要运行的命令

    如果一个域是*,表明命令可以在该域所有可能的取值范围内执行。

    如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字 本身)。

    如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。

    如果日期域和星期域都有值,则这两个域都有效。

    例如

    现有一份apache的访问日志文件名为access_log,请编写一个shell脚本将该日志中包含有” 10.3.136.75”的ip的所有行内容输出到一个新建文件75log中,并将其加入到定时任务中。

    crontab –e

    加入

    (晚上11点到早上8点之间每两个小时,早上8点)

    * 11-7/2,8 * * * grep access_log 10.3.136.75 >> 75log

  • 相关阅读:
    中标麒麟QT5编译出现:cannot find -lGL 和 collect2:error:ld returned 1 exit status 错误
    虚拟机设置静态ip【实测中标麒麟】
    selenium webdriver如何拿到页面的加载时间
    有感于去哪儿的一道笔试题
    python selenium 常见问题列表
    乙醇的webdriver实用指南java版本
    乙醇的webdriver实用指南ruby版本
    作死的自动化测试
    从龙门镖局看自动化测试
    无用的自动化测试
  • 原文地址:https://www.cnblogs.com/growup/p/2100813.html
Copyright © 2011-2022 走看看