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

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

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

我想将旧目录与新目录同步(递归地),但不覆盖已经存在的文件(以节省时间)。

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

答案1

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

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

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

rsync -a source destination

或者

rsync -r source destination

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

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

答案2

使用rsync

rsync -a --ignore-existing cosmo_sim_9 /dest/disk/cosmo_sim_9

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

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

for dir in cosmo_sim_* ; do
rsync -a --ignore-existing "$dir" "/dest/disk/$dir"
done

相关内容