Iniciar sesión

Ver la versión completa : Backups desde terminal (debian) ur doin it right?



Molondro
01/04/2015, 20:44
Tengo un nas con dos discos duros que funciona con una versión de debian. Quiero programar copias de seguridad quincenales de unas carpetas en concreto, y para ello me he creado un script tal que así:



#!/bin/bash
cp -r -v /mnt/origen /mnt/destino
...


y luego en el crontab añado un linea:


0 0 15 * root /home/rutaamiscript.sh


La pregunta, mas que si va a funcionar, que funciona, al menos el script, es si es una manera correcta de hacer un backup o si hay alguna otra más adecuada.

grasias de antebraso

JoJo_ReloadeD
01/04/2015, 20:56
man rsync

juanvvc
01/04/2015, 22:15
La herramienta tradicional es rsync, sí. Se pueden hacer cosas muy chulas, pero para empezar probablemente te baste con sustituir tu script por:



rsync -avP /mnt/origen /mnt/destino


(fíjate que destino puede ser muchas cosas. Aquí destino es una carpeta de tu disco duro pero puede ser también un servidor remoto. Además, si en destino ya tienes una copia de seguridad anterior, solo sobreescribe archivos si han cambiado. rsync hace muchas, muchas cosas)

Si tienes enlaces simbólicos, a lo mejor te interesa la opción -L, que copia el contenido de un archivo en vez del enlace. Y si quieres hacer "copias de seguridad incrementales", es decir, solo de las cosas que hayan cambiado y manteniendo también la versión antigua del documento, mira la opción de --link-dest aunque seguramente para eso ya necesites buscar un tutorial por internet.

Molondro
02/04/2015, 08:13
Gracias a los dos! Probando!

P.D: no veas la rabia que da que el firm de mi NAS no traiga los manuales de las ordenes :P

Trenz
02/04/2015, 16:13
Un pequeño detalle sin importancia... Con los ejemplos de cp y rsync que se han puesto, se copia el propio directorio "origen" dentro de "destino", es decir, la copia de los contenidos de "origen" no queda colgando directamente de "destino" sino de "destino/origen". Si se pretende copiar sólo el contenido, en el caso de rsync hay que añadir la barra al directorio origen:


rsync -avP /mnt/origen/ /mnt/destino

Y, como apunta Juanvvc, para las copias de seguridad incrementales con rsync, una magnífica solución ya implementada es rsnapshot (http://rsnapshot.org/). Aunque si se trata de ficheros grandes que se modifican con frecuencia, como las imágenes de disco de las máquinas virtuales, entonces es mejor usar rdiff-backup, ya que no hace copias completas de las sucesivas versiones de un fichero, sino que almacena sólo las diferencias. Ambas están disponibles en los repositorios de Debian.

Casia
02/04/2015, 19:43
Gracias a los dos! Probando!

P.D: no veas la rabia que da que el firm de mi NAS no traiga los manuales de las ordenes :P

¿Que marca de NAS es?
Yo al Synology se los tiro con rsync: https://github.com/Pablo-Casia/linux-bash-scripts/blob/master/multifolderBackupFromComputerToSynology.sh

Molondro
02/04/2015, 20:02
Un pequeño detalle sin importancia... Con los ejemplos de cp y rsync que se han puesto, se copia el propio directorio "origen" dentro de "destino", es decir, la copia de los contenidos de "origen" no queda colgando directamente de "destino" sino de "destino/origen". Si se pretende copiar sólo el contenido, en el caso de rsync hay que añadir la barra al directorio origen:


rsync -avP /mnt/origen/ /mnt/destino

Ya lo había visto buscando info de rsync, pero gracias por el apunte :brindis: