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定時執行,成功
