crontabエラー(MTAはインストールされていません)で、> / dev / null 2>&1を使用します。

crontabエラー(MTAはインストールされていません)で、> / dev / null 2>&1を使用します。

私はLinuxを初めて使用するユーザーです。

私はデータベースをバックアップするためにvagrantユーザーを使ってcrontabを実行してみました。

* * * * * /usr/bin/mysqldump -h localhost -u root -p root mydb | gzip > /var/backup/all/database_`date +%Y-%m-%d`.sql.gz >/dev/null 2>&1

crontabを実行すると、フォルダにバックアップファイルがありません(権限スキームを持つバックアップ/すべてがあります755)。

ここでエラーが発生します。/var/log/syslog

Aug 16 11:55:01 precise64 CRON[2213]: (vagrant) CMD (/usr/bin/mysqldump -h localhost -u root -p root mydb | gzip > /var/backup/all/database_`date +%Y-%m-%d`.sql.gz >/dev/null 2>&1)
Aug 16 11:55:01 precise64 CRON[2212]: (CRON) info (No MTA installed, discarding output)

だから私は思う

  1. 権限が拒否されたため、crontabがバックアップファイルを作成できないという問題です。
  2. MTAはインストールされていませんが、>/dev/null 2>&1無効なcrontabを使用して電子メールで送信することについてです。なぜエラーが発生するのですか?

ベストアンサー1

もちろん、間違いはメールプログラム(sendmail、postfixなど)を実装してアクティブにしなかったことです。

つまり、他の質問は> / dev / null 2>&1この場合、LASTコマンドgzipにのみ適用/関連していることです。したがって、mysqldumpにはSTDERRに行く特定の種類の出力が必要です。

あなたがしたいことを行う正しい方法は次のとおりです。

 * * * * *  (command | command ) >/dev/null 2>&1

おすすめ記事