小编Gil*_*les的帖子

使 scp 始终覆盖或创建目录

我正在使用 scp 将目录从一个远程服务器复制到另一个远程服务器上的新目录(即只是更改名称),例如:

scp -prq server1:dir1 server2:dir2
Run Code Online (Sandbox Code Playgroud)

如果 dir2 在 server2 上不存在,这可以正常工作,它会创建一个名为 dir2 的新目录,其中包含 server1 上 dir1 的所有内容。

当 dir2 已存在于 server2 上时,问题就出现了(注意:我无法事先知道这一点,也无法事先在 server2 上的 dir2 上进行删除)- 发生的情况是我在 dir2 中获得了一个名为 dir1 的 dir1 副本。

我确信我缺少一些基本的东西,但我似乎无法解决它。

非常感谢任何帮助!

问候,

贾尔斯

好的,我的代表不到 10 人,不能等待 8 小时,所以我得到了以下信息:

这是一个对我有用的脚本:

#!/bin/sh
echo "method 1"
scp -prq server1:dir1/* server2:dir2/ >/dev/null  2>&1

if [ "$?" -ne "0" ]; then
        echo "failed ... trying method 2"
        scp -prq server1:dir1 server2:dir2
fi

exit
Run Code Online (Sandbox Code Playgroud)

仍然不确定如何在单个命令中执行此操作,或者如果可能的话。

干杯@mindthemonkey,有时只是获得一个新的观点可以帮助指明方向。

linux scp

31
推荐指数
2
解决办法
5万
查看次数

标签 统计

linux ×1

scp ×1