rsync的python包装器,用于生成统计信息更新。
rsyncwrap的Python项目详细描述
从python使用rsync的库
frompathlibimportPathfromrsyncwrapimportrsyncwrapsource=Path('/the_source')dest=Path('/the_destination')forupdateinrsyncwrap(source,dest):print(update)
rsyncwrap
通过具有以下属性的Stats
对象生成进度更新:
in_progress_stats
:一个TransferStats
的实例(请参见下面的描述)。在transferring_path
:表示当前路径的{}的实例 正在传输。在 last_completed_path
:表示要完成的最后一条路径的{}的实例 正在传输。在 completed_paths
:以pathlib.Path
键和TransferStats
对象作为值的字典。 每个键的值是完成的传输的统计信息。在last_completed_path_stats
:最后一个的TransferStats
实例已完成传输。在total_transferred
:到目前为止传输的总字节数。不包括已在 传输开始时的目标。在raw_output
:我们从底层rsync命令得到的行的列表。对调试有用 在开发过程中。在
TransferStats
对象如下所示:
transferred_bytes
:当前行rsync输出传输的总字节数。在percent
:当前正在传输的文件的完成百分比。在time
:Rsync对当前正在传输的文件的估计时间。在transfer_rate
:Rsync当前传输的值(字节)。在transfer_rate_unit
:Rsync输出的传输速率单位。e、 g.“MB/s”is_completed_stats
:这是完成的文件传输的统计信息吗?在
关于如何使用rsync的说明:
- 我们使用
-a
选项调用rsync。这意味着它是递归的,并保留除 硬链接。在 - 这个早期版本只支持将
source
目录传输到目的地 目录。换句话说,在上面的例子中,我们将得到/the_destination/the_source
。在 - 当然,由于这是rsync,我们只传输更改的字节,这意味着它是可恢复的 过程。在
- 在我的测试中,rsync大约每秒钟生成一次stats更新,所以这就是我们产生的频率 给打电话的人。在
- 项目
标签: