web-dev-qa-db-ja.com

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

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

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

  • 誰か私にこれを行う方法の説明を教えてもらえますか?

14
krunal shah

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
14
user9517

ダンプが終了したら$をチェックしますか?シェル変数。それが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
1
Dmytro Leonenko