通过 pv 进行目录复制的进度信息

通过 pv 进行目录复制的进度信息

我需要复制一个非常大的目录(这里以 TB 为单位)并希望监视进度。

我发现这pv是一个很好的实用程序,但是如何使用它来递归复制目录? (pv src > dst不起作用,因为它们是目录)

PS:在 OS X Mountain Lion 上运行,pv从 Mac Ports 安装

答案1

使用rsync --progress [SRC] [DST]

请检查该man rsync页面,因为它有很多非常有用的选项。-a归档是一个好的开始,但这取决于您的具体要求。

通过管道复制会不必要地减慢复制过程,尤其是基于文件的复制过程。

答案2

您可以使用tarpaxcpio

mkdir -p dst &&
  (cd src && tar cf - .) | pv -trb | (cd dst && tar xpf -)

答案3

柏油。

tar -cf - /var/log/ | pv | tar -C . -x

例子:

# tar -cf - /var/log/ | pv | tar -C . -x
tar: Removing leading `/' from member names
58MB 0:00:05 [ 2.2MB/s] [                   <=> 

答案4

我为 rsync 制作了一个进度条(在包装器中):

rsyncy -a FROM/ TO

它看起来像这样:

同步

更多信息:GitHub,安装pip3 install --user rsyncy

相关内容