TL;DR
- プログレスバー表示するには
pv
使ったらいいよ -
brew install pv
でインストールできるよ mysqldump <parameters> | pv --progress --size 100m > dumpfile.sql
さあdumpだ
「よーし、mysqldump叩くぞー」
「userとhost、databaseとport指定して、と」
MYSQL_PWD=$DUMP_DB_PASSWORD mysqldump -u $DUMP_DB_USER -h $DUMP_DB_HOST -P $DUMP_DB_PORT --set-gtid-purged=OFF --column-statistics=0 > $DUMP_FILE
「そんでもってこいつを.shファイルにして、」
「よし、これでいつでもdumpし放題や!」
「よっしゃ、叩くでー」
$ sh dump.sh
「楽しみやな」
「…」
$ sh dump.sh
「…」
「そういや、このDBって確か数GBのサイズやったな・・・」
「…」
$ sh dump.sh
「(果たしていつ頃終わるんやろか・・・・)」
せや!
「せや!プログレスバーを表示したればええんや!」
「mysql dump progressbar
で、検索っと」
mysql - Does mysqldump support a progress bar? - Stack Overflow
「ほう、pv
ってのを使ってやればええんか」
「macはbrewでインストールできるんやな。 brew install pv
でインストールして、っと!」
「あとはこいつに組み込んでやるだけ・・・」
「どうやら、大体のファイルサイズを指定するとそいつを100%で表示してくれるみたいや」
「確か2GBくらいあったはずや」
MYSQL_PWD=$DUMP_DB_PASSWORD mysqldump -u $DUMP_DB_USER -h $DUMP_DB_HOST -P $DUMP_DB_PORT --set-gtid-purged=OFF --column-statistics=0 $DUMP_DATABASE | pv --progress --size 2000m > $DUMP_FILE
「よし、こいつを実行や!」
$ sh dump.sh
[> ] 0%
「く、長い・・・。でもプログレスバーを得たワイなら待てる。待てるはずや。」
$ sh dump.sh
[=====================================================================> ] 95%
「終わる、終わるぞーーー!」
[================================================================================] 109%
「あ、あれ、、、」
[================================================================================] 149%
「(こいつ一体なんGBのデータ持ってるんや・・・!?)」