今天寫了一個nginx日誌分割的簡單腳本,發現手動執行腳本能夠將日誌成功分割,可是使用crontab定時任務就會執行失敗。nginx
而後本身寫了一個只有一句話的shell腳本,發現同樣的問題,而後就開始根據問題找緣由:shell
1:是否是crontab的權限不對。而後使用了 ls /etc/init.d/crontab -lh 查看權限。發現用戶組的對的,root組。spa
2:網上說很大可能的緣由是環境變量的問題,而後,本身輸出了PATH的全部環境變量,而後加入到腳本開頭第二行的位置,依然不行。日誌
3:查看crontab的執行狀態。/etc/init.d/cron status 發現定時在執行。crontab
4:定時不使用腳本,直接在定時後面直接寫命令。發現是能夠執行的,這就有點怪了。it
手動執行腳本沒問題,定時執行腳本有問題。定時執行腳本命令沒問題。這是哪裏出了問題呢?這說明腳本的白那些是沒有問題的,問題處在了crontab定時上,而後加了環境變量的的文件絕對路徑,抱着試一試的心態,結果然的成功了。具體操做以下:test
*/1 * * * * /etc/profile /bin/sh path/test.sh變量
/etc/profile是加的環境變量的文件。定時任務