私は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)
だから私は思う
- 権限が拒否されたため、crontabがバックアップファイルを作成できないという問題です。
- MTAはインストールされていませんが、
>/dev/null 2>&1
無効なcrontabを使用して電子メールで送信することについてです。なぜエラーが発生するのですか?
ベストアンサー1
もちろん、間違いはメールプログラム(sendmail、postfixなど)を実装してアクティブにしなかったことです。
つまり、他の質問は> / dev / null 2>&1この場合、LASTコマンドgzipにのみ適用/関連していることです。したがって、mysqldumpにはSTDERRに行く特定の種類の出力が必要です。
あなたがしたいことを行う正しい方法は次のとおりです。
* * * * * (command | command ) >/dev/null 2>&1