linux shell 判断是否执行成功
高洛峰
高洛峰 2017-04-17 16:34:01
0
2
458

使用linux的shell脚本来批量备份数据库,但是数据库并不一定是存在的。而执行会导致报错:

mysqldump -u$DbUser -p$DbPwd --master-data $dbname | gzip > $filepath if [ $? -eq 0 ] then echo "[$dbname] $filepath success!" >> $LogFile else echo "[$dbname] $filepath Error Failed" >> $LogFile rm -rf $filepath fi

当数据库是不存在的时候,使用$?捕获到的还是0导致备份提示成功。
这里是如何判断数据库 mysqldump 是否有报错提示?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen (2)
PHPzhong

可以在mysqldump命令中添加一个错误输出重定向到文件,如mysqldump xx oo 2>err.log|gzip >...
然后在if语句里判断err.log是否为空[ -s err.log ],为空则表示成功,不为空则为失败。

    刘奇

    我一般会写一个简单的 php 或 python 脚本检查数据库,exit 不同的值。

      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!