martes, 20 de marzo de 2012

Copias de seguridad (tar, gzip, rsync, grsync)

Vamos a ver cómo empaquetar, cómo comprimir y cómo hacer las dos cosas a la vez:
  • Empaquetar: tar (.tar).
    • tar cvf archivo.tar /archivo/mayo/* (empaqueta)
      tar cvf prueba.tar /home/rafakatu/Escritorio/Resumen\ administracion\ linux-v0.4-base.pdf
    • tar xvf archivo.tar (desempaqueta)
      tar xvf prueba.tar
    • tar tvf archivo.tar (visualizar el contenido)
      tar tvf prueba.tar. Muestra por pantalla:
      -rwxrw-rw- rafakatu/rafakatu 496996 2012-01-11 16:33 home/rafakatu/Escritorio/Resumen administracion linux-v0.4-base.pdf
  • Comprimir: gzip (.gz).
    • (El archivo lo comprime y lo renombra como "archivo.gz")
      gzip -q /home/rafakatu/Escritorio/Resumen\ administracion\ linux-v0.4-base.pdf
    • (El archivo lo descomprime y lo deja como "archivo")
      gzip -d /home/rafakatu/Escritorio/Resumen\ administracion\ linux-v0.4-base.pdf.gz
    Nota: gzip solo comprime archivos, no directorios
  • Empaquetar y comprimir: tar con gzip (.tar.gz - .tar.z - .tgz).
    • tar czvf archivo.tar.gz /archivo/mayo/* (empaqueta y comprime)
      tar czvf prueba.tar.gz /home/rafakatu/Escritorio/vmware-tools-distrib/
    • tar xzvf archivo.tar.gz (desempaqueta y descoprime)
      tar xzvf prueba.tar.gz
    • tar tzvf archivo.tar.gz (visualiza el contenido sin extraer)
      tar tzvf prueba.tar.gz (me muestra el listado de archivos)
 Más info en: linuxtotal.com.
______________________________________________________________

rsync: La principal utilidad de rsync es la de sincronizar estructuras de árboles de directorios a través de la red, aunque puede ser utilizado perfectamente también dentro de una máquina de forma local.

Si no lo tenemos instalado lo instalamos:apt-get install rsync

Sincronizar dos directorios locales
Cómo sincronizar el contenido de una carpeta (prueba) con otra carpeta (prueba2):
 rsync -a /home/rafakatu/Escritorio/prueba/ /home/rafakatu/Escritorio/prueba2/

Notar que en ambos paths absolutos se incluye la "/" al final. Esto es importante, ya que poner /var/www/ no es lo mismo que /var/www una manera se refiere al directorio y otra al contenido, para que todo marche bien el formato debe ser idéntico en ambos. Sincronizar archivos locales con remotos
Es también bastante directo, si os fijáis en el ejemplo solo varía el destino, que en este caso se trata de una dirección remota (nos comunicamos por SSH) y proporcionamos un nombre de usuario, porteriormente nos solicitará la contraseña de ese usuario en ese equipo remoto:

rsync -avz /home/ahornero/Music/ alberto@192.168.1.30:/home/alberto/Music

El uso mas simple es el de sincronizar dos directorios cualquiera con la opción -a (copia exacta). Esta opción resume unas cuantas ejemplo:-z habilitar compresión
-v modo verbose
-r recursivo (para que recorra toda la estructura de directorios-l: para que mantenga enlaces simbólicos
-p: para que mantenga permisos en archivos y subdirectorios.-t: para que mantenga la hora y fecha
-g: para que mantenga grupo
-o: para que mantenga dueño (owner)
-D: para que mantenga archivos de dispositivo (root)
-u: evita sobreescribir archivos modificados. Esta opción es muy interesante para ingresar nuevos archivos en el destino manteniendo intactos los anteriores.  Sincronizar archivos remotos con locales
Exactamente igual que el caso anterior pero con el origen y destino cambiados:

rsync -avz alberto@192.168.1.30:/home/alberto/Music/ /home/ahornero/Music/
 Eliminar los archivos del destino
Si un archivo no se encuentra en el origen pero si en el destino podemos eliminar estas diferencias usando rsync. En este caso, usaremos la opción –delete, muy útil para ahorrar espacio.

rsync -avz –delete /home/ahornero/Music/ /media/disk/Music/
  Incluir y excluir patrones
Con rsync podemos proporcionar un patrón mediante el cual podemos incluir y excluir archivos o directorios durante la sincronización. Los comandos son sencillos de usar, –include para incluir y –exclude para excluir, seguidos del patrón en sí. El ejemplo:

rsync -avz –include ‘j*’ –exclude ‘*’ /home/ahornero/Music/ /media/disk/Music/
 Más info vía linuxhispano.net:
http://www.linuxhispano.net/2010/09/18/rsync-ejemplos-de-uso-13/http://www.linuxhispano.net/2010/09/20/rsync-ejemplos-de-uso-2/http://www.linuxhispano.net/2010/09/22/rsync-ejemplos-de-uso-33

______________________________________________________________
grsync: es el método gráfico de todo esto. Para instalarlo:

apt-get install grsync

Lo ejecutamos con 'grsync' y se abre el entorno gráfico:


Es todo mucho más intuitivo.. así que no creo que sea necesario explicar más..

No hay comentarios:

Publicar un comentario