如何同步两个不同外部硬盘中的目录?

R S*_*ohn 4 directory file-copy synchronization

我的一个外部硬盘中有几个大文件夹“cosmo_sim_9”、“cosmo_sim_10”....在另一个外部硬盘上有一个旧副本。

我想将旧目录与新目录同步(递归),但不覆盖现有文件(以节省时间)。

我怎样才能做到这一点?我的操作系统是 Fedora 20。

rye*_*ayo 10

使用rsync可以做到这一点。根据您拥有的系统类型,您需要下载它:

  • sudo yum install rsync (基于 RPM)
  • sudo apt-get install rsync (基于Debian)

然后使用它,这是您需要使用的命令:

rsync -a source destination

或者

rsync -r source destination

Where-r代表递归复制数据(但在传输数据时不要保留时间戳和权限。

-a 代表存档模式,存档模式允许递归复制文件,它还保留符号链接、文件权限、用户和组所有权和时间戳


pqn*_*net 7

使用rsync

rsync -a --ignore-existing cosmo_sim_9 /dest/disk/cosmo_sim_9
Run Code Online (Sandbox Code Playgroud)

--ignore-existing将导致它跳过目标上的现有文件,-a使其递归,如果可能,保留权限/所有权/组/时间戳/链接/特殊设备。

您可以使用 bashfor循环对所有目录执行此操作:

for dir in cosmo_sim_* ; do
rsync -a --ignore-existing "$dir" "/dest/disk/$dir"
done
Run Code Online (Sandbox Code Playgroud)