如何在两个驱动器之间同步文件?

use*_*ser 7 scripting rsync synchronization

什么命令可以检查一个目录是否包含与另一个目录相同的文件,所有文件都是最新的,并将任何更新的文件或新文件复制到第一个目录。它不应该关心文件权限复制受限文件而不检查。

Pan*_*dya 6

你可以用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前端。


rɑː*_*dʒɑ 6

您还可以使用Lsyncd。它将持续监视您提到的目录树,当发生更改时,它将自动应用更改。

它实际上与Rsync类似。您可以使用它通过 SSH+Rsync 进行远程同步。超链接是它的帮助页面,它可以为您提供更多信息。

回答你的问题:

lsyncd -rsync /path/directory1 /path/directory2  
Run Code Online (Sandbox Code Playgroud)