說明:
1、linux和mac下操作crontab都是一致的
2、配置檔案都在/etc/crontab下,如果沒有就建立。
3、測試發現直接使用crontab -e命令建立的定時任務是放在臨時資料夾的,重啟會刪除,並且與/etc/crontab檔案無關聯。
實際操作:
檢視 crontab 是否啟動
sudo launchctl list | grep cron
檢查需要的檔案
$ launchagents ll /etc/crontab
ls: /etc/crontab: no such file or directory #表示沒有這個檔案,需要建立乙個
建立檔案
sudo touch /etc/crontab
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檔案時給確認提示。
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:editor=vim crontab -e 直接編輯,以後直接crontab -e直接開啟就行。
方法2:export editor=vim
方法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
參考:以上內容**此篇文章)
另類的定時任務實現)
Mac下使用crontab來實現定時任務
說明 1 linux和mac下操作crontab都是一致的 2 配置檔案都在 etc crontab下,如果沒有就建立。3 測試發現直接使用crontab e命令建立的定時任務是放在臨時資料夾的,重啟會刪除,並且與 etc crontab檔案無關聯。實際操作 crontab的引數 eg 1 bin ...
Mac下使用crontab來實現定時任務
說明 1 linux和mac下操作crontab都是一致的 2 配置檔案都在 etc crontab下,如果沒有就建立。3 測試發現直接使用crontab e命令建立的定時任務是放在臨時資料夾的,重啟會刪除,並且與 etc crontab檔案無關聯。實際操作 檢視 crontab 是否啟動 sudo...
mac 下crontab 無效的解決方案
在mac下使用crontab e編輯crontab,並不儲存,crontab l顯示列表仍然是空的 crontab e crontab no crontab for username using an empty one crontab usr bin vi exited with status 1...