使用 rsync 进行双向同步

2024-04-16

我有一个文件夹 a/ 和一个远程文件夹 A/。 我现在在 Makefile 上运行类似的内容:

get-music:
 rsync -avzru server:/media/10001/music/ /media/Incoming/music/

put-music:
 rsync -avzru /media/Incoming/music/ server:/media/10001/music/

sync-music: get-music put-music

当我制作同步音乐时,它首先获取从服务器到本地的所有差异,然后相反,将所有差异从本地发送到服务器。

仅当将来有更新或新文件时,此功能才非常有效。如果有删除,则不会执行任何操作。

在 rsync 中,有 --delete 和 --delete-after 选项来帮助完成我想要的,但事实是,它不适用于 2 路同步。

如果我想删除syn上的服务器文件,当本地文件被删除时,它可以工作,但是如果由于某种原因(稍后解释)我有一些文件不在服务器中但存在于本地并且它们被删除了,我想在本地删除它们而不是服务器复制(正如它所发生的那样)。

问题是我有 3 台机器:

  1. desktop
  2. notebook
  3. 家庭服务器

因此,有时,服务器会有通过笔记本同步删除的文件,例如,当我与桌面(已删除的服务器文件仍然存在)运行同步时,我希望这些文件被删除而不是被删除。再次复制到服务器。

我想这只有通过数据库和操作跟踪才能实现:P

有更简单的解决方案吗? 谢谢。


尝试齐奏:http://www.cis.upenn.edu/~bcpierce/unison/ http://www.cis.upenn.edu/%7Ebcpierce/unison/

Syntax:

unison dirA/ dirB/

Unison 会询问当文件不同时该怎么做,但您可以使用以下接受默认(不冲突)选项的命令来自动化该过程:

unison -auto dirA/ dirB/

unison -batch dirA/ dirB/根本不问任何问题,并写入输出有多少文件被忽略(因为它们冲突)。

注意:我不再使用 Unison(我使用 NextCloud,它不能解决原始用例)。但请注意rsync不是为双向同步而设计的,而unison is. unison可能有它的错误(就像任何其他软件一样)和它的缺陷。我很惊讶它现在似乎得到了积极的维护(上次我看的时候我想我认为它看起来已经死了),但我不确定现在的状态如何。我不需要双向文件同步器,因此可能有更好的选择。

注2:我现在正在使用Mutagen https://mutagen.io/出于某些目的。它仍然没有完全涵盖问题的用例,但它确实实现了双向同步。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 rsync 进行双向同步 的相关文章

  • 用于 C# 和 iPhone 应用程序的 MongoDB

    我正处于设计应用程序的初始阶段 该应用程序将具有用 C 实现的后端 该后端将使用 IIS 上托管的 WCF Web 服务为其他平台提供数据 iPhone 就是其中之一 由于是个人项目 所以想用它来学习MongoDB 我已经知道有社区开发的
  • Python下载器

    所以我试图编写一个脚本来使用 python 下载图片文件 我使用谷歌找到了这个 def 但是我下载的每张图片都 损坏 了 有任何想法吗 def download url Copy the contents of a file from a
  • 如何打开 matlab p 代码文件

    有谁知道如何查看 matlab p 代码文件的代码 p 代码文件专门存在 以便您可以共享代码 以便其他人无法查看它 换句话说 您看不到 Matlab p 代码文件的代码
  • 今天 iCloud + Core Data(2015 年 7 月 10 日)

    几年前 Apple 发布了 Core Data 应用程序的 iCloud 同步 然后我发布了一个适用于 iPad iPhone MAC 的应用程序 其共享模型使用新的 Apple 机制 事情并没有按预期进行 同步机制有时不起作用 例如 就我
  • PHP is_file 和服务器根相对路径

    请问如何使用 is file 和 folder file jpg 这样的路径 谢谢你 如果路径以 开头 则表示该路径是绝对路径 当路径是相对路径时 即不以 开头 则采用相对于 php 脚本的路径 如果您希望 folder file jpg
  • 错误:安装 ffi 时出错:错误:无法构建 gem 本机扩展

    我在 Mac 64 位系统中遇到此错误 并且机器上安装了 xcode Building native extensions This could take a while ERROR Error installing ffi ERROR F
  • 如何在 Spring Boot 中从 resolurces 文件中读取文件夹,:从 Jar 运行时出现错误

    我正在尝试下面的代码 我在其中读取文件并从资源文件夹执行 File fileList new File getClass getResource jsonData toURI listFiles for File file fileList
  • Mac 操作系统的 windows.h 替代品

    早上好 我正在使用 Codeblock c 程序进行编程 但是 我需要使用窗口 h and conio h MacBook 上没有这个头文件 拜托 你能帮我吗 不起作用的来源 void gotoxy int x int y COORD co
  • Python:数百万个小文件的读写速度缓慢

    结论 看来 HDF5 是适合我的目的的方法 基本上 HDF5 是一种用于存储和管理数据的数据模型 库和文件格式 并且旨在处理令人难以置信的大量数据 它有一个名为 python tables 的 Python 模块 链接在下面的答案中 HDF
  • 如何填充上次保存的用户和文件的上次保存日期

    我有下面的代码从文件夹中获取文件名 Sub GetFileNames Assessed As T2 Dim sPath As String sFile As String Dim iRow As Long iCol As Long Dim
  • 缓冲与非缓冲,该使用哪一种?

    如果这是重复的 我很抱歉 但我无法找到每种类型的最佳实践的明确答案 我想知道定义何时使用 BufferedReader 与 FileReader 或 BufferedInput OutputStream 与 FileInput Output
  • 如何确保超类的子类方法的线程安全?

    我参加了一次面试 并被要求为以下要求设计一个课程 假设我有一个 A 类 它可以有任意数量的子类 即子类 类 A 有一个名为 doSomething 的方法 该方法是同步的 要求是 A 的所有子类都是强制性的重写 doSomething me
  • QT 中只获取文件而不获取目录?

    当我这样做时 QDir myDir home some location QStringList filesList myDir entryList 它返回该位置内的文件和目录 但我只想要文件 并且这些文件可以具有任意扩展名 有任何想法吗
  • 在哪里可以找到有关 IOS 日历同步的优秀教程? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发 iPhone 应用程序 如何将新事件与 iOS 日历同步 您可以浏览此 github 代码
  • 如何读取 C# 字符串字典并将其写入文件?

    我有一个 Dictionary 对象 我想写入磁盘并能够从磁盘读取它 理想情况下 我会避免使用任何第三方库 有没有一种简单的方法可以使用常规 C 4 来做到这一点 答案已接受 Summary 选项 1 使用 JavaScriptSerial
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • 当我只能处理文件或文件路径时如何处理 SAF?

    背景 在 Android Q 之前 如果我们想获取有关 APK 文件的信息 我们可以使用写外部存储 https developer android com reference android Manifest permission html
  • Javascript 文件到 Blob

    我正在使用 Cordova Media 将音频录制到空文件中 要上传它 我需要文件的内容类型 我正在尝试将文件转换为 Blob 以便我可以设置内容类型 但是我正在努力将文件转换为 Blob state cordova localDirect
  • 如何在 Windows 7 中使用 Python 廉价地创建非常大的文件? [复制]

    这个问题在这里已经有答案了 可能的重复 在Windows系统上快速创建大文件 https stackoverflow com questions 982659 quickly create large file on a windows s
  • 单击一次文件丢失

    将 Clickonce 与 VS 2010 和 NET Framework Client profile 3 5 一起使用 我有几个文件夹 其中包含运行时所需的应用程序级 XML 和 或文本文件 这些文件夹位于要使用它们的同一项目中 这些文

随机推荐