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