use*_*ser 7 scripting rsync synchronization
什么命令可以检查一个目录是否包含与另一个目录相同的文件,所有文件都是最新的,并将任何更新的文件或新文件复制到第一个目录。它不应该关心文件权限复制受限文件而不检查。
你可以用rsync
它。
NAME
rsync - a fast, versatile, remote (and local) file-copying tool
Run Code Online (Sandbox Code Playgroud)
例子:
rsync -av "/path/to/source" "/path/to/destination"
Run Code Online (Sandbox Code Playgroud)
注意:哪里"/path/to/source"
是源目录"/path/to/destination"
的路径,是包含目标目录的目录的路径。例如,您想在/media/users/disk1/dir
(作为源)和/media/disk2/dir
(作为目标)之间进行同步,那么您应该运行rsync -av "/media/users/disk1/dir" "/media/disk2/"
如果要从目的地删除无关文件,可以使用--delete
如下选项:
rsync -av --delete "/path/to/source" "/path/to/destination"
Run Code Online (Sandbox Code Playgroud)如果要在传输过程中显示进度,请--progress
按如下方式使用:
rsync -avh --progress --delete "/path/to/source" "/path/to/destination"
Run Code Online (Sandbox Code Playgroud)
也--info=progress2
可用于基于整个传输的输出统计。
注意:有关rsync
访问 ( man rsync
)联机帮助页和选项列表的更多信息。您还可以使用GUI前端。
您还可以使用Lsyncd。它将持续监视您提到的目录树,当发生更改时,它将自动应用更改。
它实际上与Rsync类似。您可以使用它通过 SSH+Rsync 进行远程同步。超链接是它的帮助页面,它可以为您提供更多信息。
回答你的问题:
lsyncd -rsync /path/directory1 /path/directory2
Run Code Online (Sandbox Code Playgroud)