bash中的简约mysqldump进度条

时间:2012-08-20 13:51:02

标签: bash progress-bar mysqldump

大家好,我正在尝试显示一个简单的进度条,让普通用户在我得到这个时刻轻松理解:

mysqldump --verbose -uusername -ppassword dbname > dbname$(date +.%d.%m.%y).sql

- 详细信息为我提供了很多我理解的信息,但有一种方法可以显示更容易阅读的进度条,就像wget一样:0%====> ==== 100 %?或类似于rsyncs --stats?

1 个答案:

答案 0 :(得分:2)

嗯不,因为mysqldump不知道它将要转储多少数据,因此它无法确定已经完成的数量的百分比。

您可以编写自己的脚本,使用mysqldump并模仿进度条,例如在每个数据库之后更新。

示例shell脚本:

databases=(`echo 'show databases;' | mysql | grep -v ^Database$`)
for i in "${databases[@]}";
do
    /usr/bin/mysqldump --add-drop-database --routines --triggers > ~/${i}.sql
    print ".";
done