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

    表达式格式

    image

    命令格式

    crontab [-u user] file
    或者
    crontab [-u username]     //可选,省略则表示操作当前用户的crontab
            -e        //编辑crontab定时任务
            -l        //列出crontab里的内容
            -r        //删除crontab
    • -u user:用来设定某个用户的crontab服务;
    • file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
    • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
    • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
    • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
    • -i:在删除用户的crontab文件时给确认提示。

    crontab的命令由时间和命令构成,其时间由分、时、日、月、周五种按顺序排列,操作符有:

    *:任何时间
    /:每隔多久
    -:连续时间
    ,:不连续的时间

    实例说明

    每分钟执行一次命令

    * * * * * 命令
    每小时的第10分钟和第30分钟执行
    
    10,30 * * * * 命令
    在8点到10点的每分钟执行
    
    * 8-10 * * * 命令
    每月15号每隔10分钟执行
    
    */10 * 15 * * 命令
    每周一的六点三十分执行
    
    30 6 * * 1 命令

    系统运行的调度程序

    /etc/crontab
    
    同时在/etc目录下还存放了/etc/cron.deny 和 /etc/cron.allow 文件
    /etc/cron.deny 表示不能使用crontab 命令的用户
    /etc/cron.allow 表示能使用crontab的用户。
    如果两个文件同时存在,那么/etc/cron.allow 优先。
    如果两个文件都不存在,那么只有root用户可以安排作业。

    用户任务文件

    /var/apool/cron/用户

    查看日志

    记录是否执行了某些计划的脚本

    $ less /var/log/cron

    具体执行是否正确以及脚本执行过程中的一些信息则linux会每次都发邮件到/var/spool/mail下面

    $ cd  /var/spool/mail
    

    通过这些就可以判断脚本执行正确与否,及执行过程中是否正确以及一些错误的信息,除此之外 cron 还可以添加邮件通知

    #你的命令要在哪运行
    SHELL=/bin/bash
    #为这个shell添加环境变量,如你的命令需要java环境
    PATH=$PATH:/your_jdk_path
    #当运行出错将邮件发送给谁
    MAILTO=user_name或者你的qq邮箱
    

    延伸

    通过这些了解,我们可以做个调度系统,通过脚本设定定时任务。当我有十几台甚至上百台服务器,通过这个系统,可以极大解放劳动力,便于管理。



    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
     
     
  • 相关阅读:
    C#将方法作为参数传递(用委托接收方法)
    C#委托
    ASP.NET Identity系列教程-4【Identity高级技术】
    ASP.NET Identity系列教程-3【运用ASP.NET Identity】
    ASP.NET Identity系列教程-2【Identity入门】
    claim、claimsidentity、claimsprincipal
    Entity Framework的几种初始化器
    微信小程序环境准备
    ESLint那些坑
    absolute imports should come before relative imports import/first
  • 原文地址:https://www.cnblogs.com/applelife/p/10490042.html
Copyright © 2011-2022 走看看