while
スクリプトでこのループを実行してそれをインポートして圧縮していますが、mysqldump
スクリプトが存在しない場合はそのスクリプトが必要です。私が試したことは次のとおりです。exit
table
while read TABLES; do
sudo mysqldump $DB $TABLES | gzip -f > $DB.$TABLES.sql.gz
if [ $? != 0 ]; then
echo "mysqldump Query executed with error !!"
exit 1
fi
done < file
ただし、これは終了ステータスを提供しますgzip -f
が、終了ステータスは提供しませんmysqldump
。mysqldump
そこで使用しないと終了ステータスを取得できることはわかっていますが、gzip
この方法の終了ステータスを取得する方法はありますかmysqldump
?
ベストアンサー1
PIPESTATUS変数を使用して、パイプラインの各要素の終了ステータスを取得できます。
if [ ${PIPESTATUS[0]} -ne 0 ];then
echo "mysqldump Query executed with error !!"
exit 1
fi