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 代表存档模式,存档模式允许递归复制文件,它还保留符号链接、文件权限、用户和组所有权和时间戳
使用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)