我似乎无法说服 scp 表现出来。
对于测试数据
ubuntu@domU-12-31-38-00-D4-F1:/tmp$ find /tmp/a1/
/tmp/a1/
/tmp/a1/a2
/tmp/a1/a2/a3
在发出命令时
ubuntu@domU-12-31-38-00-D4-F1:/tmp$ scp -r /tmp/a1 domU-12-31-38-00-E2-52.compute-1.internal:/tmp/a1
我希望在 domU-12-31-38-00-E2-52.compute-1.internal 上创建相同的目录结构,无论目标主机上是否存在目录 /tmp/a1。相反, scp 实际创建的是以下结构(如果 /tmp/a1 存在于目标主机上)
ubuntu@domU-12-31-38-00-D4-F1:/tmp$ ssh domU-12-31-38-00-E2-52.compute-1.internal find /tmp/a1
/tmp/a1
/tmp/a1/a1
/tmp/a1/a1/a2
/tmp/a1/a1/a2/a3
如何强制 scp 作为操作的根目录复制到给定目录?
稍后我想编写此操作的脚本,以便主服务器上的给定目录路径我可以调用一个脚本,将相同的目录结构复制到所有从服务器。请注意,rsync 行为(至少从我测试过的情况来看)在这种方式下是相同的。
谢谢你,马克西姆。