什么命令可以检查一个目录是否包含与另一个目录相同的文件,所有文件都是最新的,并将任何更新的文件或新文件复制到第一个目录。它不应该关心复制受限制文件而不进行检查的文件权限。
答案1
您可以使用rsync
为了那个原因。
NAME
rsync - a fast, versatile, remote (and local) file-copying tool
例子:
rsync -av "/path/to/source" "/path/to/destination"
注意:其中"/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"
如果您想在传输过程中显示进度,请使用
--progress
以下命令:rsync -avh --progress --delete "/path/to/source" "/path/to/destination"
还可以
--info=progress2
提供基于整个传输的输出统计数据。
答案2
您还可以使用左同步它将持续监视您提到的目录树,当发生更改时,它将自动应用更改。
它实际上与Rsync类似。您可以使用它通过 SSH+Rsync 进行远程同步。超链接是它的帮助页面,它可以为您提供更多信息。
回答你的问题:
lsyncd -rsync /path/directory1 /path/directory2