1. 程式人生 > >crond定時操作 crontab

crond定時操作 crontab

 

* * * * *  分別表示 分鐘  小時  日  月  星期(0-6)

30 17,28,19 * * *  或 30 17-19 * * *  在每天的17-19小時半點時刻執行

30 8-18/2 * * * 這是指 在每天的8-18點每2小時的30分時刻執行

重啟使用 /etc/init.d/restart

 

每分鐘列印自己的名字到一個檔案裡

*/1 * * * *  echo "peak" >> /var/aaa.txt 2>&1

每週六,日,上午9:00和下午14:00來外面玩

00 09,14 * * 6,0 /bin/sh/ /var/aaa.sh > /dev/null 2>&1

特別說明

/dev/null 2>&1  意思是說將上面指令碼的輸出重定向到/dev/null(黑洞裝置或者是空裝置),就是不記錄任何輸出,也不給系統發郵件

2&1 是指標準錯誤和標準輸出

 

如果報錯 no space left on device故障

首先df -k檢視 空間

解決辦法

cd /var/spool && rm -rf clientmqueue 

mkdir clientmqueue && chmod 770 clientmqueue && chown smmsp.smmsp -R /var/sppl/clientmqueue

原因是定時任務輸出的內容的鍋,直接/dev/null 2&1

 

建立定時任務之前先檢查服務是否啟動

ps -ef|grep crond|grep -v grep

 

crontab -e 進入命令編輯模式

 

任務一:每隔一分鐘,列印一個+號到aaa.log

 

*/1 * * * * echo + >> /aaa.log 儲存

 

然後檢視 

crontab -l

 

或者可以直接這樣寫

echo '*/1 * * * * echo + >> /aaa.log' >> /var/spool/crond

 

利用指令碼執行

*/1 * * * * /bin/sh /var/echo.sh >>/dev/null 2>&1

 

vi echo.sh

 

echo date >>/tmp/aaa.log