帮助理解 rsync 命令

帮助理解 rsync 命令

有人可以帮助我理解以下rsync命令吗,这对于使用来说是完全陌生的rsync

rsync -av --progress --delete  /exampledir/ [email protected]:/dir1/dir2/dir3/exampledir/

此命令在crontab另一台机器上,我假设它正在删除示例目录192.168.0.100 机器上的目录和/或其内容?

答案1

首先,如果您想了解有关的更多信息rsync,您可以rsync --help在终端上输入。

-av使用-a存档模式的标志,递归同步目录。保留用户和组的所有权、权限、符号链接和时间戳。几乎是选项的集合-rlptgoD-v用于详细显示,它将在过程中向您显示额外信息。

--progress会直接告诉您流程的进展情况。

--delete意味着在源上删除的每个文件也会在目标上被删除。因此,如果您在源上删除“test.txt”,它也会删除目标上存在的文件。如果您希望在两边都进行镜像,这将非常有用。TL;DR 如果源上不存在该文件,则目标上也不会存在该文件。

该命令的其余部分用于源和目标,使用 SSH 连接到 192.168.0.100 处的 root。如果要自动执行此操作,您可以尝试使用tarfind和进行备份rsync,所有这些都在由 cronjob 调用的脚本中进行,但使用密钥对 ( ssh-keygen) 是无人值守登录的必需操作。

答案2

基本上,rsync同步两个目录的内容,这两个目录可能位于不同的机器上。第一个目录是源,第二个目录是目标。这意味着,如果文件较新或不存在,则将其复制到目标。否则,什么也不会发生。--delete此外,该标志还会删除仅在目标中的文件。这确保目录之间实现完全同步。

一个很好的起点是您可以通过看到的手册man rsync,在那里您可以找到选项的完整描述(并不总是容易理解)。

相关内容