mysqldumpはステータスを返しますか?


14

mysqldumpユーティリティを使用してmysql dbをバックアップするスクリプトを作成しています。このスクリプトをシェル「sh」で記述しています。スクリプトでmysqldumpの出力ステータスをキャプチャしたいので(つまり、mysqldumpコマンドが失敗または成功した場合)、スクリプトが成功したかどうかを報告できます。

  • mysqldumpは出力ステータスを返しますか?

  • 誰かがこれを行う方法の指示を教えてもらえますか?


ファイルが作成され、最後の行に次のようなものが含まれていることを確認できます-- Dump completed on ...-問題が発生した場合、これは当てはまりません。
ユアンヘミング

シェルスクリプトを使用してダンプを作成しているため、ダンプが適切に作成されたかどうかを確認したいのですが、何らかのステータスが必要です。
krunalシャー

回答:


14

mysqldumpが返す

0 for Success
1 for Warning
2 for Not Found

また、拡張エラーメッセージをstderrなどに出力します。

mysqldump: Got error: 1049: Unknown database 'dbname' when selecting the database

次のように返された値を調べることができます

mysqldump -u DBuser -pDBpassword database >database.sql 2>database.err 
if [ "$?" -eq 0 ]
then
    echo "Success"
else
    echo "Mysqldump encountered a problem look in database.err for information"
fi

失敗の成功エラーメッセージを電子メールに返すことができませんか?助けてください
...-sqlchild

1

ダンプ終了後、$をチェックしますか?シェル変数。0の場合、すべてがうまくいきました。それ以外-エラー。

# mysqldump -u aaa -d msf>/dev/null
mysqldump: Got error: 1045: Access denied for user 'aaa'@'localhost' (using password: YES) when trying to connect
# echo $?
2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.