Aprendiendo a usar rsync

11 04 2009

rsync es una aplicación del mundo Unix que permite sincronizar ficheros entre máquinas.

Un ejemplo de su uso sería el siguiente:

rsync -avrP --times --perms --links --exclude "*~" /ruta/a/documentos usuario@servidor:documentos

donde:

  • rsync: el programa que va a hacerse cargo del respaldo.
  • -avrP: son las opciones: a significa “modo de archivo”, v por “verbose” (o sea, que verás en la terminal toda la información relevante sobre el proceso), r es por “recursivo” (respaldará el directorio ~/documentos y todo lo que esté dentro de él, incluyendo directorios) y P es para permitir la transfrerencia parcial de archivos (muy útil si se transfieren archivos muy grandes; si se llegara a cortar la conexión, retomará donde quedó, no desde el principio).
  • –times: Indica a rsync que envíe la fecha de modificación del fichero, de modo que se detecten actual¡zaciones de éstos y se sincronicen correctamente.
  • –perms: Para que se sincronicen también los permisos.
  • –links: Para que se sincronicen los links.
  • –exclude “*~”: con esto conseguimos que no sincronice los ficheros de backup.
  • /ruta/a/documentos es el directorio local que quieres sincronizar.
  • usuario@servidor:documentos es la información del servidor remoto donde se sincronizarán los ficheros.

Para poder utilizar esto de forma automática, sería necesario tener las llaves de SSH preparados para un login automático.





Comprimir Ficheros en Linux

1 05 2008

Hay varias formas de comprimir ficheros en Linux.

La que yo uso normalmente es la siguiente, ya que sirve tanto para comprimir ficheros, como directorios:

Ficheros .tar.gz

  • Comprimir: # tar -czf archivo.tar.gz ficheros
  • Descomprimir: # tar -xvzf archivo.tar.gz
  • Ver contenido: # tar -tzf archivo.tar.gz

Podéis encontrar más información en desarrolloweb y en gsmlandia.com.





Enviar ficheros comprimidos con netcat

13 03 2008

Enviar un fichero entre dos máquinas:

$ netcat -l -p 5555 > salida.txt
$ netcat remote.host 5555 -q 0 < entrada.txt

Enviar un fichero comprimido entre dos máquinas:

$ nc -l -p 5555 | gunzip > salida.txt
$ cat entrada.txt | gzip | nc remote.host 5555 -q 0

Enviar un directorio comprimido entre dos máquinas:

$ netcat -l -p 3333 -v > backup.tgz
$ tar -czvpf - /path/to/files | netcat -q 0 remote.host 3333

Información original