我有两台独立的计算机,其中有相同的 MEDIA 文件夹,这个文件夹相当大。这些文件夹的结构相同,但其中一台计算机中的文件更多。
我想做的是这样的:
1)扫描计算机A上的文件夹,创建我已有的文件列表。
2)将列表复制到计算机 B,然后运行“复制不在列表中的文件”到我的外部驱动器。
可以使用 rsync 来做到这一点吗?
非常感谢,这确实是一个强大的黑客攻击。
答案1
使用外部驱动器将目录从一台计算机同步到另一台计算机,而无需复制整个目录:
在目的地(就您而言是计算机 A):
生成您已有的文件列表并将其保存到外部驱动器:
cd /PATH/TO/MEDIA find -type f | cut -c2- > /PATH/TO/EXTERNAL/DRIVE/my_files
您必须
cd
到要同步的文件夹,因此find
将使用相对路径生成文件列表。在原点(就您的情况而言,是计算机 B):
仅将您不需要的文件复制到外部驱动器:
rsync -a --exclude-from=/PATH/TO/my_files /PATH/TO/MEDIA /PATH/TO/EXTERNAL/DRIVE
确保你不在 中包含尾部斜杠 (
/
)/PATH/TO/MEDIA
。返回目的地(就您的情况而言,是计算机 A):
将文件从外部驱动器复制到您的目录:
rsync -a /PATH/TO/EXTERNAL/DRIVE/MEDIA/ /PATH/TO/MEDIA
现在,确保你做在 中包含一个尾随斜杠
/PATH/TO/EXTERNAL/DRIVE/MEDIA/
。
更多信息:Rsync 手册页。