Imprimir
Categoría: Unix
Visto: 3974
Hay mucas páginas en Internet que muestran como hacer copias remotas de archivos. Aquí hay un resumen:

Este metodo es el más rápido de todos:

#En la máquina donde queremos copiar los archivos:
nc -l 6969 | tar xfz - -C /tmp

#En la máquina desde donde sacamos los archivos:
tar cfz - dir | nc server 6969

(dependiendo de la versión del netcat, las opciones pueden variar)

Otros métodos:

Push (el comandos se ejecuta localmente, los archivos se transfieren de la máquina local a la remota)
Pull (el comandos se ejecuta localmente, los archivos se transfieren de la máquina remota a la local)

  • ssh target_address cat remotefile > localfile
  • ssh target_address dd if=remotefile | dd of=localfile
  • ssh target_address cat "<" remotefile >localfile
  • ssh target_address cat "<" remotefile.gz | gunzip >localfile

  • Comparación

  • ###El siguiente utiliza la cpu remota para comparar los archivos:
  • ssh target_address cat remotefile | diff - localfile
  • cat localfile | ssh target_address diff - remotefile
  • ###El siguiente utiliza la cpu local para comparar los archivos:
  • ssh target_address cat <localfile "|" diff - remotefile

  • Explicación de &&, ||, y -

    && es un atajo para "si es verdadero haz"
    || es un atajo para "si es falso haz"
    Pueden usarse separados o juntos según convenga.
    Los siguientes ejemplos intentan cambiar el directorio a "/tmp/mydir"; se obtendran diferentes resultados según el directorio exista o no;
    cd /tmp/mydir && echo Se pudo cambiar al directorio
    cd /tmp/mydir || echo No se pudo cambiar al directorio
    cd /tmp/mydir && echo Se pudo cambiar al directorio || echo No se pudo cambiar al directorio
    cd /tmp/mydir && echo funciono || echo fallo
    cd /tmp/mydir && echo funciono || { echo fallo; exit; }

    El guión "-" se usa para referenciar tanto la entrada como la salida estandard. El contexto en el que se use el guión determina si referencia la salida o la entrada estandard.

    Fuentes: http://ultra.ap.krakow.pl/~bar/DOC/ssh_backup.html y http://www.spikelab.org/blog/scpTarSshTarNc.html