1

postgres ベースのダンプ ファイルを作成しています。を使用するpg_dump base > base.sqlと、postgres は を作成しますbase.sqlが、プロセスが完了するまで、ファイルは 0 バイトで表示されます。一種の進行状況バーを作成するためにファイルのサイズにアクセスする方法はありますか?

os.stat() を使用して python で試しましたが、0 バイトも表示されます。

>>> import os
>>> file = os.stat('base.sql')
>>> file.st_size
>>> 0L
4

2 に答える 2

5

Python 以外のオプションの 1 つは、ユニバース リポジトリで利用可能なpvコマンド ライン プログラム ( man ページ) を使用することです。

apt-get install pv

pvこれで、これまでに出力ファイルに書き込まれたデータの量に関する継続的な更新を取得するためにパイプを通すことができます。

pg_dump base | pv > base.sql

もちろん、pvこの場合、 は最終的なサイズを知る方法がないため、これまでにパイプされたデータの量のみを表示します。推測値がある場合は、-s引数を指定して、適切な進行状況バーを取得できます。

pg_dump base | pv -s 500M > base.sql

これは、インストール手順、例、スクリーンショットを含むブログ投稿です

于 2013-07-30T12:51:28.893 に答える
0

すべてのファイルが HDD に書き込まれるまで、できないと思います。

進行状況バーを作成するには、ファイルが占めるスペースを知る必要が100%あります。そうして初めて、その数値と、書き込んでいるファイルが使用している現在のスペースを使用して、書き込まれたファイルの現在のパーセンテージを計算できます。

于 2013-07-30T12:48:20.520 に答える