zoukankan      html  css  js  c++  java
  • Mac系统crontab 定时执行

    1、Linux和Mac下操作crontab都是一致的

    2、配置文件都在/etc/crontab下,如果没有就创建。

    3、crontab参数

      crontab [-u user] file crontab [-u user] [ -e | -l | -r ]

    -u user:用来设定某个用户的crontab服务;

    file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

    -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

    -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

    -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

    -i:在删除用户的crontab文件时给确认提示。

    4、配置环境变量,打开open ~/.bash_profile文件添加以下内容;

      EDITOR=vim crontab -e;export EDITOR

    5、crontab的文件格式

      eg:* * * * * sh /xxxxx/davecron.sh >>/xxxxx/davecron.log

     * 第1列分钟0~59
     * 第2列小时0~23(0表示子夜)
     * 第3列日1~31
     * 第4列月1~12
     * 第5列星期0~7(0和7表示星期天)
     * 第6列要运行的命令

    6、crontab服务的重启关闭
      Mac系统下:
      
    sudo /usr/sbin/cron start
      sudo /usr/sbin/cron restart
      sudo /usr/sbin/cron stop
      Ubuntu:
      
    sudo /etc/init.d/cron start
      sudo /etc/init.d/cron stop
      sudo /etc/init.d/cron restart

    7、单独执行.sh文件可以成功,加入crontab中,没有定时执行问题
      原因:环境变量问题
      解决:
        1.写shell脚本时头部添加:#!/bin/bash
        2.终端输入env查看系统变量
          

        3.将系统变量添加到shell文件中

      

         4.再次运行crontab定时执行,成功



     
     
  • 相关阅读:
    June. 26th 2018, Week 26th. Tuesday
    June. 25th 2018, Week 26th. Monday
    June. 24th 2018, Week 26th. Sunday
    June. 23rd 2018, Week 25th. Saturday
    June. 22 2018, Week 25th. Friday
    June. 21 2018, Week 25th. Thursday
    June. 20 2018, Week 25th. Wednesday
    【2018.10.11 C与C++基础】C Preprocessor的功能及缺陷(草稿)
    June.19 2018, Week 25th Tuesday
    June 18. 2018, Week 25th. Monday
  • 原文地址:https://www.cnblogs.com/miracleflower/p/14875535.html
Copyright © 2011-2022 走看看