Estoy usando scp para copiar un directorio de un servidor remoto a un nuevo directorio (es decir, solo cambiando el nombre) en otro servidor remoto como:
scp -prq server1:dir1 server2:dir2
Esto funciona bien si dir2 no existe en el servidor2, crea un nuevo directorio llamado dir2 que contiene todo, desde dir1 en el servidor1.
El problema surge cuando ya existe dir2 en el servidor2 (NOTA: no tengo forma de saberlo de antemano o de eliminarlo en dir2 en el servidor2 de antemano). Lo que sucede es que obtengo una copia de dir1, llamada dir1, en dir2.
Estoy seguro de que hay algo básico que me falta, pero parece que no puedo resolverlo.
Cualquier ayuda muy apreciada!
Saludos,
Giles
De acuerdo, tengo menos de 10 repeticiones y no puedo esperar $ 8, así que esto es lo que obtuve:
Aquí hay un script que funciona para mí:
#!/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
Todavía no estoy seguro de cómo hacer esto en un solo comando o incluso si es posible.
Saludos @mindthemonkey, a veces solo obtener un nuevo punto de vista puede ayudar a señalar el camino.
cd dir2
.