前の関連記事:linuxBean14.04(187)ローカルフォルダからGoogleフォトにアップロードする方法
cronの実行ログをとる
Where is the cron / crontab log? - Ask Ubuntu
ここにcronのログの取り方が書いてありました。
/etc/rsyslog.dにある50-default.confをrootで開きます。
cron.* /var/log/cron.logcron.*で始まる行が#でコメントアウトされていれば、#を外します。
sudo service rsyslog restart
rsyslogを再起動します。
これでcornのログが/var/log/cron.logに出力されます。
試しにcrontab -lとしてみると次のようにログが出力されます。
Nov 30 22:00:18 pq-VirtualBox crontab[2525]: (pq) LIST (pq)
pqは実行したユーザー名、LISTがcronのコマンドに該当します。
Nov 30 22:44:04 pq-VirtualBox crontab[6589]: (pq) REPLACE (pq)
crontab cron.confでジョブを登録するとREPLACEがログに残ります。
Nov 30 22:50:01 pq-VirtualBox CRON[20306]: (pq) CMD (/media/sf__VirtualBox/\347\224\273\345\203\217\343\202\265\343\203\274\343\203\220\343\203\274\347\224\250/togooglephoto.sh)
パスにある日本語はバイト列に変換されて表示されます。
Nov 30 22:50:03 pq-VirtualBox CRON[20305]: (CRON) info (No MTA installed, discarding output)
CMDの行の次には、MTAがインストールされていないので出力を破棄しました、とでてきます。
これは出力結果をメールで送信する設計になっているのに、メール転送ソフト(MTA)がインストールされていないのが原因です("(CRON) info (No MTA installed, discarding output)" error in the syslog - Ask Ubuntu)。
しかし、出力結果は次にやるようにローカルファイルにリダイレクトしたほうが簡単です。
cronで実行したコマンドの出力を取得する
*/2 * * * * pwd >> ~/cronjob.log 2>&1
これをcrontabで登録すると2分おきに、pwdを実行し、その標準エラー出力と標準出力を~/cronjob.logファイルに追記していきます。
Nov 30 23:48:01 pq-VirtualBox CRON[23952]: (pq) CMD (pwd >> ~/cronjob.log 2>&1)
/var/log/cron.logにはこのように記録され、No MTA installed, discarding outputの行はでてきません。
参考にしたサイト
Where is the cron / crontab log? - Ask Ubuntu
cronの実行ログ、cronで実行させたコマンド出力、の取得方法の回答があります。
"(CRON) info (No MTA installed, discarding output)" error in the syslog - Ask Ubuntu
cronで実行させたコマンドをリダイレクトしていないときに残るcronのログ。
0 件のコメント:
コメントを投稿