如何过滤 Duplicacy 的列表命令输出以获取我想要恢复的特定文件夹的大小?

如何过滤 Duplicacy 的列表命令输出以获取我想要恢复的特定文件夹的大小?

Duplicacy 是一款出色的备份工具(不是员工,但我很喜欢它们),但最近我尝试做一些事情,但没有找到任何关于如何做的好信息。我在 Linux 机器上使用 Duplicacy CLI

基本上,我想使用 Duplicacy 列表命令在恢复之前获取要恢复的目录的大小。就我而言,我试图查看特定虚拟磁盘需要的大小。但是,似乎没有原生方法来获取此信息或使用 Duplicacy 列表命令的过滤器。

答案1

假设您已经设置了 Duplicacy 存储,并且知道要从中恢复的修订版以及要恢复的路径,下面是如何获取要恢复的目录的大小:

duplicacy list -r <revision number> -files | egrep '\s<directory>' | egrep -o '^\s?[0-9]*\s' | awk '{ sum += $1 } END { print sum}'

例如,您可以使用以下命令获取 plexShare 文件夹的大小。输出应为 Duplicacy 为每个匹配文件(路径包含您使用第一个 egrep 查找的目录的所有文件)提供的大小总和:

root@storageMachine:/storage# /opt/duplicacy/duplicacy_linux_x64_2.7.2 list -r 1694 -files | egrep '\splexShare' | egrep -o "^\s?[0-9]*\s" | awk '{ sum += $1 } END { print sum}'
4276075032959

为了参考,如果有人想改进这种技术,Duplicacy 以这种格式输出文件列表:

size date time sha256 path

例如:

 206059 2019-07-14 10:13:36 ad207d3e1165a9adc271c7d4bf34c000c98c49eb637a8d2d338b35e01c7fecf2 plexShare/Music/coolArtist/Singles/sweetAlbum/cover.jpg

相关内容