昨天在做數據庫備份的時候,要用Linux下的計劃任務,寫了腳本,手動運行了下腳本,沒什么問題。編輯完好計劃任務,卻運行失敗了。
一開始是懷疑是權限的問題,用sudo crontab -e試了一下,也是失敗。思考下,在當前用戶下,是沒理由用sudoer的。想想應該是腳本的問題。
系統默認是把cron的日志關閉的,可以把日志打開。然后在網上找到了這篇日志:http://blog.itpub.net/post/29123/501236
我也犯了同樣的錯誤:
腳本開頭加上
#!/bin/bash
問題解決了。
然后優化一下日志輸出信息:
每條 JOB 執行完畢之后,系統會自動將輸出發送郵件給當前系統用戶。日積月累,非常的多,甚至會撐爆整個系統。
所以每條 JOB 命令后面進行重定向處理是非常必要的: >/dev/null 2>&1 。前提是對 Job 中的命令需要正常輸出已經作了一定的處理, 比如追加到某個特定日志文件。