mysqldump 是否返回状态?

kru*_*hah 15 mysql shell-scripting

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

  • mysqldump 是否返回输出状态?

  • 有人可以告诉我如何做到这一点吗?

use*_*517 17

mysqldump 返回

0 for Success
1 for Warning
2 for Not Found
Run Code Online (Sandbox Code Playgroud)

它还向 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
Run Code Online (Sandbox Code Playgroud)