Mac下使用crontab來實現定時任務

說明:vim

一、Linux和Mac下操做crontab都是一致的編輯器

二、配置文件都在/etc/crontab下,若是沒有就建立。測試

三、測試發現直接使用crontab -e命令建立的定時任務是放在臨時文件夾的,重啓會刪除,而且與/etc/crontab文件無關聯。spa

實際操做:.net

  • 查看 crontab 是否啓動命令行

    sudo launchctl list | grep cron
  • 檢查須要的文件rest

    $  LaunchAgents  ll /etc/crontab
    ls: /etc/crontab: No such file or directory  #表示沒有這個文件,須要建立一個
  • 建立文件code

    sudo touch /etc/crontab 

crontab的參數blog

  • -u user:用來設定某個用戶的crontab服務;
    
    file:file是命令文件的名字,表示將file作爲crontab的任務列表文件並載入crontab。若是在命令行中沒有指定這個文件,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
    
    -e:編輯某個用戶的crontab文件內容。若是不指定用戶,則表示編輯當前用戶的crontab文件。
    
    -l:顯示某個用戶的crontab文件內容,若是不指定用戶,則表示顯示當前用戶的crontab文件內容。
    
    -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,若是不指定用戶,則默認刪除當前用戶的crontab文件。
    
    -i:在刪除用戶的crontab文件時給確認提示。

eg: */1 * * * * /bin/date >> /User/Username(你的用戶名)/time.txt表示每分鐘輸出當前時間到time.txt上.進程

  • 若是出現如下問題

    crontab: no crontab for hayek - using an empty one
    crontab: "/usr/bin/vi" exited with status 1 
    1. 方法1:EDITOR=vim crontab -e 直接編輯,之後直接crontab -e直接打開就行。
    2. 方法2:export EDITOR=vim
    3. 方法3:向cron進程提交一個crontab文件以前,首先要設置環境變量EDITOR。cron進程根據它來肯定使用哪一個編輯器編輯crontab文件。9 9 %的UNIX和LINUX用戶都使用vi,若是你也是這樣,那麼你就編輯$HOME目錄下的. profile文件,在其中加入這樣一行: 
      EDITOR=vi; export EDITOR

crontab的文件格式

* 第1列分鐘0~59
    * 第2列小時0~23(0表示子夜)
    * 第3列日1~31
    * 第4列月1~12
    * 第5列星期0~7(0和7表示星期天)
    * 第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

 

參考:

http://blog.csdn.net/zhenhanhong_tony/article/details/52658055

http://blog.csdn.net/zmzwll1314/article/details/52389967

http://blog.csdn.net/biyongyao/article/details/77791238(以上內容轉自此篇文章)

http://blog.csdn.net/meixuesong/article/details/27481883

http://blog.csdn.net/lgt633744/article/details/45932035(另類的定時任務實現)

相關文章
相關標籤/搜索