简而言之,我希望本地文件夹与远程服务器中的文件夹同步。
长话短说:
我有一个名为master的文件夹,在这里我存储了一堆数据。此数据组织在包含实际文本/json文件的文件夹中。假设master包含名为folder1、folder2等名称的文件夹。所发生的情况是,master将使用ith文件夹的folderi中包含的新数据进行更新。这些新文件夹可以在任何时候添加。我可以手动scp (就像我以前一样)并将所有数据发送到我的计算机。然而,这样做是极其乏味的。理想情况下,我希望能够使用像git这样的东西,在这种情况下,程序本身就可以确定实际需要更新的内容。git的缺点是它在云和版本控件中存储东西。我并不(完全)反对在云中存储东西,但不需要有版本控制,但是,理想情况下,我只向自己发送数据(不幸的是,github在存储数据上设置了配额,因此我不能使用它)。
我一直在使用scp -r user@loc:/loc/master .发送我的所有数据,但是它似乎并没有真正地检查我已经拥有的数据,而是继续重新发送所有的数据。这真的很费时,因为算法应该按照添加的顺序运行,而不是在master内容的历史记录中运行。是否有任何软件/工具/库等可以轻松地在终端上更新我的mater目录?这些想法的要求是:
master)文件夹,而不是在整个历史记录或所有内容中。master文件夹,它只发送需要更新的内容(本质上像git,但没有版本控制)。理想情况下,它将与远程文件无缝同步。
我曾经想过使用我的机构dropbox,这本质上意味着我有一些存储到空间,然而,我并不是百分之百地设置了这样一个自动系统与dropbox只使用终端。
不确定这是否是一个问题,但其中一些文件/数据是由脚本生成的。不确定dropbox是否会这样做,但是它是否会在我的文件执行过程中抓狂,因为它试图同步会非常烦人(或者它决定在执行过程中声明合并冲突,这也会很烦人)。由于这些原因,我不确定使用dropbox是否是个坏主意,但是如果它不表现得奇怪的话,它实际上可能会很好。如果它无缝地同步这很酷,但如果我必须偶尔指定(只有每次master的内容发生变化),它必须更新,因为一个新的文件夹,这也很酷。我只是担心当文件实际上是written...maybe dropbox时可能会出现奇怪的同步问题,我不知道如何做到这一点。
该系统应该适用于Unix文件系统。实际上,我使用的是本地OS和远程某种Linux。
发布于 2016-10-14 13:16:55
为此,我建议使用合唱。它监视本地目录中的任何新文件,然后使用rsync将数据传输到目标。rsync执行增量备份,这意味着它只传输在源和目标之间更改的文件。它可以在后台的守护进程模式下工作。我每天都使用它来将本地目录与远程服务器同步,就像这样,它工作得很好:
$ lsyncd -rsync /media/data/music /mnt/r/music我只在Linux上使用它,但它也支持MacOS。
https://softwarerecs.stackexchange.com/questions/36797
复制相似问题