我有两台机器,nearbyMachine
和remoteMachine
.
在 上nearbyMachine
,正在文件夹中创建文件。
nearbyMachine/
myFiles/
file1
file2
file3
...
我也想拥有这些文件remoteMachine
——但分类到目录中:
remoteMachine/
filesByCategory/
loveLetters/
file1
file2
...
otherLetters/
file3
...
...
所以我...
remoteMachine
通过 Internet将文件夹中的所有文件复制到临时文件夹中,- 运行一个软件
remoteMachine
,从临时文件夹中删除所有文件,这些文件已经存在于任何子文件夹中filesByCategory
。 - 手动将文件分类到现有的或新的子文件夹中
filesByCategory
。
问题:随着时间的推移,第一步需要的时间越来越多。小时。而且很不优雅。
有没有什么办法,例如使用 rsync,我可以只复制远程机器上任何地方都不存在的文件?或者至少得到一份我必须复制的文件列表?
在我的理解中,所有的同步程序都只能比较双方的一个目录。
remoteMachine
更快的过程是有选择地仅将比上次同步更新的文件复制到临时文件夹 。然后你只需要将几个文件分类到它们的文件夹中。一个简单的脚本就可以完成这项工作。您可以使用诸如 find之类的实用程序 来列出所有较新的文件。该
newerXY
参数可能会很有用,连同您的脚本将touch
在副本末尾使用的参考文件。要使用的参数可能是
-newermm
.您的脚本可以使用此生成的文件列表
find
作为cp
命令的参数,以复制到远程服务器,您可以在其中将它们分类到各自的文件夹中。