mysqldump是否返回状态?

我正在创build一个使用mysqldump实用程序备份mysql数据库的脚本。 我正在将这个脚本写在shell“sh”中。 我想在脚本中捕获mysqldump的输出状态(即,如果mysqldump命令失败或成功),所以我可以报告脚本是否成功。

  • mysqldump是否返回输出状态?

  • 有人可以给我说明如何做到这一点?

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 

转储完成后检查$? shellvariables。 如果它是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