cron で動かしてる fetchmail がよく失敗してるので,スクリプトを改良.
前のプロセスが生きている場合は,それを殺した後に実行する.
#!/bin/sh # # check mail echo ' log for fetchmail ---' echo `date` # commands GREP="/bin/grep" # check last echo /bin/ps aux | ${GREP} -v ${GREP} | ${GREP} fetchmail > /dev/null 2>&1 case $? in 1) echo ' no problem' ;; *) echo ' stop fetchmail' killall fetchmail esac echo ' do fetchmail' /usr/bin/fetchmail echo ' done.'
沢山のサイトを巡ったので,参照はなし.
ポイントは ps aux | grep xxx したときに,gerp xxx 自身が引っ掛かるとき,引っ掛からない場合があることでした.
crontab で次のように設定して, last のログを残す.
0,30 7-22 * * * ~/checkmail.sh > ~/checkmail.log