Bir dizini bir uzak sunucudan yeni bir dizine (IE sadece adı değiştirerek) kopyalamak için scp kullanıyorum:
scp -prq server1:dir1 server2:dir2
Bu, server2'de dir2 bulunmuyorsa, server1'deki dir1'den her şeyi içeren dir2 adlı yeni bir dizin oluşturur.
Bu sorun, server2'de dir2 zaten mevcut olduğunda ortaya çıkar (NOT: Bunu önceden bilmeden veya server2'de dir2'yi kaldırmadan önce yapma şansım yok) - ne olur dir1, dir2, dir2, dir2.
Kaybettiğim basit bir şey olduğundan eminim, ama çözemiyorum.
Herhangi bir yardım çok takdir!
Saygılarımızla,
Giles
Tamam, 10'dan az temsilcim var ve 8 saat bekleyemem mümkün değil, işte elimde ne var:
İşte benim için çalışan bir senaryo:
#!/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
Yine de bunu tek bir komutta veya mümkünse bile nasıl yapacağınızdan emin değilim.
Şerefe @mindthemonkey, bazen sadece yeni bir bakış açısı elde etmenin yolu göstermesine yardımcı olabilir.
cd dir2
.