位相同副本的基本 rsync 命令

osh*_*nen 21 backup rsync

据我不明白,以下命令:

sudo rsync --delete -azvr /home/oshiro/Desktop/source/ /home/oshiro/Desktop/destination
Run Code Online (Sandbox Code Playgroud)

这是创建从一个位置到另一个位置的文件的简单同步所需的全部内容吗?或者上面的命令在后台做了什么我不知道的事情?例如,它是否创建了某种版本控制,我可以在其中指定过去的时间来获取文件在过去的位置?

这是我现阶段不想启用的功能。我想要的只是从一个位置到另一个位置的文件的位相同副本。我可以去掉这些参数中的任何一个,还是需要添加更多参数以使副本位相同而没有版本控制。基本上,我不想创建备份 Mac 时间机器备份系统如何创建备份。

Gil*_*il' 26

Rsync 不会进行任何类型的版本控制或保留任何历史记录,除非使用--backup. 有使用 rsync 的备份工具,但 rsync 本身并不是一个备份工具,它只是一个四轮造车的工具。Rsync 只是处理同步。

关于您使用或可能想要使用的选项:

  • -a意思是“复制几乎所有内容”(递归复制目录,复制符号链接,保留所有元数据等)。除非您正在做一些不寻常的事情,否则请使用此选项。
  • 除了-a,您可能希望用于-H保留硬链接、-A保留 ACL(-a仅保留传统的 unix 权限)或-X保留扩展属性。
  • -r已包含在-a.
  • -v 表示冗长。
  • -z 对于本地副本是无用的。
  • --delete 删除源中不存在的目标中的文件。

所以这是使目标与源相同的基本命令(没有硬链接、ACL 和扩展属性):

rsync -a --delete SOURCE/ DESTINATION/
Run Code Online (Sandbox Code Playgroud)


Ben*_*pel 10

我通常使用这个答案中的命令。优点是它还保留了扩展属性和 ACL。

rsync -avxHAX --info=progress2 / /new-disk/
Run Code Online (Sandbox Code Playgroud)

选项是:

-a  : all files, with permissions, etc..
-v  : verbose, mention files
-x  : stay on one file system
-H  : preserve hard links (not included with -a)
-A  : preserve ACLs/permissions (not included with -a)
-X  : preserve extended attributes (not included with -a)
Run Code Online (Sandbox Code Playgroud)

关于同步进度的说明progress2:rsync 增量扫描要扫描的文件(“增量递归”)。此增量递归progress2ir-chk输出显示在的输出中。但是,在扫描完所有文件之前,进度百分比会产生误导,因为 rsync 尚不知道要传输多少文件。要首先检查所有文件然后才开始同步,请添加该--no-inc-recursive选项。