zoukankan      html  css  js  c++  java
  • shell学习笔记之crontab

    一:知识背景

      crontab是用来定时执行脚本的进程,crond进程每分钟会定时检查是否有要执行的任务。操作系统会安装完成会默认安装工具并自动启动crond进程。

      业务上主要用于:

          1.系统周期性执行的清理缓冲,备份系统数据

          2.个人用户进程的守护、定时清理日志 

    二:语法知识

      crontab 【-u user】【-e| -r| -l】

     【-u user】:就是指定用户的时程表,当然指定的前提是当前用户权限大于指定用户。这个可以直接省略,就是表示以当前用户创建、删除或列出时程表,

     【-options】: -e 创建crontab文件,内定的文字编辑指定是vim,所以也是分为命令行模式和文本模式,按i进行编辑

              -r 删除当前时程表,权限约束

            -l 列出当前时程表,权限约束

      crontab文件语法: crontab会进行语法检查,vim不会

     大家看到的注释就完美表达了crontab文件的语法

    * * * * * user-name command 

    五个星号表示是 分 时 每月哪一天 月份 周几

       * 代表不匹配  

       a-b 表示这段时间都执行

        a,b这个时间点都执行

      */n ,例如*/5 * * * * 表示每隔5分钟执行一次,n为执行的频率

    ### crontab也分为两种:系统级和用户级

      系统级位于/etc/crontab的方法只能root用户使用,crontab -e这种所用用户都可以使用并保存在/var/spool/cron/username,系统级任务不会写入后者。

    crontab -e 和/etc/crontab修改语法不一致,/etc/crontab多一个user指定。cron会每分钟读取/etc/crontab和/var/spool/cron/username中的数据内容,因此,只要编辑完/etc/crontab文件并保存之后,

    crontab会执行。

      那就是 crontab -e 这个 crontab 其实是 /usr/bin/crontab 这个运行档,但是 /etc/crontab 可是一个纯文字档,必须用 root 的身份编辑这个文件。

      系统级和用户级区别还在于:

      MailTo=root:这个字段就是每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件的形式发送给当前系统用户,这样日积月累,日志信息会非常大,可能会影响系统的正常运行,因此,将每条任务进行重定向处理非常重要。一般不处理就是放在/var/mail/username,所以一般都会将日志信息重定向到null。

      crontab -r 也只是删除用户级别的时程表,所有的/var/mail/username 删除所有用户文件,或者加上user删除特定用户时程表,crontab -l 显示的任务也都是用户级任务。

    crontab有一点需要大家注意的就是:

    周(f5)和 日月(f3)不能并存,比如以下的模式:

    0 0 12 12 5 root echo "just test" < 错误的写法

      本来你以为12月12日且为星期五才会进行这项工作,无奈的是,系统可能会判定每个星期五作一次,或每年的12月1 2日分别进行,如此一来与你当初的规划就不一样了,得要注意这个地方!上述的写法是不对的

     2

      

  • 相关阅读:
    Windows设置多用户同时远程登录
    Scala配置环境变量windows
    Java学习|强引用,软引用,弱引用,幻想引用有什么区别?
    Java学习|Exception和Error有什么区别?
    关于异常处理的几点建议
    win Server 2008 笔记
    .Net 初步学习笔记之三---变量
    认识与入门 MarkDown 标记语言
    C# winform基础 1、Timer不起作用 2、 设置图片透明
    IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2
  • 原文地址:https://www.cnblogs.com/yblecs/p/10229016.html
Copyright © 2011-2022 走看看