设想:
来源目录:
/day1/hour1/instance1/files.ext
/day1/hour1/instance2/files.ext
/day1/hour1/instance3/files.ext
/day1/hour2/instance1/files.ext
/day1/hour2/instance2/files.ext
ETC..
目标目录(已存在):
/day1/hour1/instance4/files.ext
/day1/hour1/instance5/files.ext
/day1/hour1/instance6/files.ext
/day1/hour2/instance6/files.ext
/day1/hour2/instance7/files.ext
我必须将所有文件从源复制到目标。
正如您所看到的,我有一棵相同的树,这意味着同一天和同一时间,但源和目标的实例不同。我需要将所有目录和文件从源复制到目标中同一棵树中,但保留目标文件夹中已有的所有文件。
我怎样才能做到这一点?
cp -R
是我需要的吗?或者我需要添加更多参数吗?
答案1
和rsync
:
rsync --archive --ignore-existing source_dir/ target_dir/
这将复制source_dir
层次结构 inte target_dir
,但不会覆盖 inte 中target_dir
已存在的任何文件。
答案2
我想我会使用 rsync 来代替。使用 rsync 您可以复制和同步数据。典型参数为:
rsync -avh source destination
v 用于详细 a 用于递归并保留文件权限、所有权和时间戳 h 用于生成人类可读的输出数字