我使用rsync和cygwin备份了一个linux服务器。我现在的windows笔记本电脑上有一个完美的服务器副本。如果我删除或修改笔记本电脑上的文件,并再次使用cygwin运行rsync,它会删除/更新服务器上的同一个文件吗?我的印象是,如果我在服务器上删除/修改并在我的笔记本上运行rsync,它将删除/修改我的笔记本电脑上的本地文件,但这会相反吗?
发布于 2014-07-06 14:22:57
Rsync只进行单向同步,但是要由您来决定同步的方式。
Rsync命令语法如下:
rsync [OPTION...] SRC... [DEST]请注意,您指定了从源到目的地的同步。源和目标可以是任何本地或远程路径。
例如,如果要将文件从服务器复制到膝上型计算机,请执行以下操作:
rsync [OPTION...] <server-path> <laptop-path>若要以相反的方向同步,请执行以下操作:
rsync [OPTION...] <laptop-path> <server-path>因此,要回答您的问题:这取决于您如何执行rsync。
如果希望删除目标上的文件,则需要使用--delete选项。但是要小心,因为如果在指定源时犯了错误,那么最终会删除目的地上的所有内容。首先测试没有--delete选项的同步是更安全的,一旦您对它的工作方式感到满意,就可以添加--delete选项。
正如马塞格洛赫在下面的注释中所建议的,-n或--dry-run选项也可以用于测试rsync命令行为。
发布于 2015-12-05 23:09:09
用python3编写的包装器工具名为bsync,它包装find和rsync命令,简化了任务。Github回购:https://github.com/dooblem/bsync
当它在github上时不要害怕(也就是说,你认为你必须是一个程序员才能使用这个工具)。
发布于 2014-07-07 18:26:37
考虑使用--删除后而不是--删除,这将确保接收端在传输后删除文件,而不是之前。
https://serverfault.com/questions/610441
复制相似问题