zoukankan      html  css  js  c++  java
  • linux命令(6)crontab的用法和解析,修改编辑器

    注意:

    如果不是vim打开的,可以先:

    crontab -e 命令将检查环境变量$ EDITOR和$ VISUAL以覆盖默认文本编辑器,所以...

    export VISUAL=vim

    or

    export EDITOR=vim

    然后再打开就是vim了

    一,写入格式:

          * * * * *   command

    minute   hour   day   month   week   command

    其中:

    • minute: 表示分钟,可以是从0到59之间的任何整数。
    • hour:表示小时,可以是从0到23之间的任何整数。
    • day:表示日期,可以是从1到31之间的任何整数。
    • month:表示月份,可以是从1到12之间的任何整数。
    • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
    • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

     

    • crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
    • crontab -r : 删除目前的时程表
    • crontab -l : 列出目前的时程表
    • crontab file [-u user]-用指定的文件替代目前的crontab。

    大部分在 crontab 计划任务中都会年到未尾带 >/dev/null 2>&1,是什么意思呢?

    • > 是重定向
    • /dev/null 代表空设备文件
    • 1 表示stdout标准输出,系统默认值是1,所以 ">/dev/null" 等同于 "1>/dev/null"
    • 2 表示stderr标准错误
    • & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
    • 整句的意思就是标准输出重定向到空设备文件,也就是不输出任何信息到终端,标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件

          command > file 2>file 与 command > file 2>&1 有什么区别呢?

    • command > file 2>file 的意思是将命令所产生的标准输出信息,和错误的输出信息送到file 中.command > file 2>file 这样的写法,stdout和stderr都直接送到file中, file会被打开两次,这样stdout和stderr会互相覆盖,这样写相当使用了FD1和FD2两个同时去抢占file 的管道.
    • 而command >file 2>&1 这条命令就将stdout直接送向file, stderr 继承了FD1管道后,再被送往file,此时,file 只被打开了一次,也只使用了一个管道FD1,它包括了stdout和stderr的内容.
    • 从IO效率上,前一条命令的效率要比后面一条的命令效率要低,所以在编写shell脚本的时候,较多的时候我们会用command > file 2>&1 这样的写法.

    样例说明:

    10 03 * * * python /home/sysuser/shell/hello.py > /home/sysuser/shell/hello.log 2>&1
    上面的例子:每天的凌晨三点十分执行hello.py,然后把日志写入到hello.log中

    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

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

    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
    每月的4号与每周一到周三的11点重启apache

  • 相关阅读:
    将数据加载时显示的图片和文字提成公共的--实现方法
    JavaScript【面向对象】-静态方法-私有方法-公有方法-特权方法
    强大的JS数组
    sql工作问题总结
    JSON.stringify()的使用--将string转换成json
    JS小技巧
    JS工作积累
    (六)Redis之数据结构之Set
    (五)Redis之List
    (四)Redis之哈希
  • 原文地址:https://www.cnblogs.com/lovychen/p/5291637.html
Copyright © 2011-2022 走看看