J'utilise scp pour copier un répertoire d'un serveur distant vers un nouveau répertoire (IE changeant juste le nom) sur un autre serveur distant comme:
scp -prq server1:dir1 server2:dir2
Cela fonctionne bien si dir2 n'existe pas sur server2, il crée un nouveau répertoire appelé dir2 qui contient tout de dir1 sur server1.
Le problème survient lorsque dir2 existe déjà sur server2 (REMARQUE: je n'ai aucun moyen de le savoir à l'avance ou de faire un retrait sur dir2 sur server2 au préalable) - ce qui se passe est que j'obtiens une copie de dir1, appelée dir1, en dir2.
Je suis sûr qu'il manque quelque chose de basique, mais je n'arrive pas à comprendre.
Toute aide très appréciée!
Cordialement,
Giles
D'accord, j'ai moins de 10 représentants et je ne peux pas attendre 8 heures alors voici ce que j'ai obtenu:
Voici un script qui fonctionne pour moi:
#!/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
Vous ne savez toujours pas comment faire cela en une seule commande ou même si possible.
Bravo @mindthemonkey, parfois simplement obtenir un nouveau point de vue peut aider à montrer la voie.
cd dir2
.