使scp始终覆盖或创建目录
我正在使用scp将目录从一个远程服务器复制到另一台远程服务器上的新目录(即,IE只是更改名称),例如: scp -prq server1:dir1 server2:dir2 如果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 仍然不确定如何在单个命令中执行此操作,即使可能也无法确定。 欢呼@mindthemonkey,有时只是获得新鲜的观点可以帮助指明方向。