Foros del Web » Administración de Sistemas » Unix / Linux »

Algunas dudas con TAR para hacer copias de seguridad

Estas en el tema de Algunas dudas con TAR para hacer copias de seguridad en el foro de Unix / Linux en Foros del Web. Buenas tardes: me han mandado una actividad en la asignatura de Seguridad y Alta Disponibilidad sobre las copias de seguridad, tanto en Windows Server como ...
  #1 (permalink)  
Antiguo 06/10/2015, 10:11
 
Fecha de Ingreso: agosto-2007
Mensajes: 71
Antigüedad: 16 años, 11 meses
Puntos: 1
Algunas dudas con TAR para hacer copias de seguridad

Buenas tardes:

me han mandado una actividad en la asignatura de Seguridad y Alta Disponibilidad sobre las copias de seguridad, tanto en Windows Server como Linux (en nuestro caso, utilizamos Mint, por eso lo he puesto en esta subcategoría). El caso es que me piden que realice una copia total, una incremental y una diferencial. La copia total la realizo con el siguiente comando, dentro de un archivo sh:

Código BASH:
Ver original
  1. tar -cjvf CopiaTotal_home_usuario-`date +%d%b%y`.tar.bz2 /home/usuario

A dicho archivo sh le doy después permisos de ejecución y lo lanzo sin ningún tipo de problemas. Ahora bien, tengo una serie de dudas que espero que me podáis resolver.

1. Ese archivo .sh (copiaTotal.sh) lo tengo dentro de una carpeta llamada "copias" en el raíz. Para que las copias de seguridad se almacenen en esa carpeta, tengo que estar situado en la consola en ella para que se guarde ahí, si no el archivo generado se guarda en el directorio activo de la terminal. ¿Hay alguna forma de especificarle a tar donde deben guardarse las copias, sea cual sea el directorio activo en el momento de lanzar el sh?

2. Se que las copias incrementales necesitan el parámetro -g y que las diferenciales necesitan -N. Ahora bien, ¿Como se especifica en el comando ambas opciones?

3. Por lo que he podido averiguar, todos mis compañeros ponen el día en el que lanzan la copia Total en el comando principal, lo cual para mi no tiene sentido... ¿No? Eso obliga a modificar dicho comando cada vez que se quiera hacer una copia total. Yo le paso al date el parámetro %d, para que coja el día en que se lanza. Esto me presenta la problemática de que si quiero lanzar una copia incremental o diferencial, no puedo decirle cual es el período de tiempo que está guardando. No se si me entendéis...

Muchas gracias desde ya.
  #2 (permalink)  
Antiguo 06/10/2015, 10:27
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 11 años
Puntos: 401
Respuesta: Algunas dudas con TAR para hacer copias de seguridad

Para no liarte mucho (pues no considero que linuxmint sea el linux mas apropiado para enseñar este tipo de utilidades) prueba primero en aplicar el comando "cp" enviando a donde tu quieras y después lo comprimes.

Pero... en fin.
Podrías manejar el proceso absoluto con un simple bash.
Ejemplo:
http://www.forosdelweb.com/f41/reali...entos-1136520/
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #3 (permalink)  
Antiguo 06/10/2015, 11:13
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Algunas dudas con TAR para hacer copias de seguridad

Para contestar el punto 1, la opción que buscás es -C.

Punto 2, supongo que "-g -N FECHA" basta. Si funciona (si no son parámetros excluyentes) debería crear un archivo con lo que haya cambiado después de FECHA.
En el mundo real, usarías una herramienta como rsnapshot en vez de pelearte con las opciones de tar.

Punto 3, ese mismo problema lo tenés ya sea que la fecha se la indiques parametrizada (a tu manera) o como lo hacen tus compañeros. Tené en cuenta que -N requiere una fecha como parámetro, con lo cual también tendrías que calcular la fecha a partir de la cual necesitás obtener la diferencia.

Al ejercicio tal cual como lo planteás le falta un toque de realidad, es decir, cuál es tu esquema de respaldos.
Simplemente decir "así se crea un respaldo diferencial" no ayuda mucho, porque necesitás tener una base desde la cual obtener esa diferencia.
Entonces, definamos un esquema de respaldos a partir del cual tenga sentido la creación de los diferentes tipos de archivo. Por ejemplo:

- respaldo completo semanal, digamos el domingo
- respaldo diferencial diario
- respaldo incremental cada hora

Entonces tu esquema de comandos podría ser:

semanal: tar -jcf respaldo_semanal_$FECHA.tar.bz2
diario: tar jcf respaldo_diario_$FECHA.tar.bz2 -N $FECHA_AYER
horario: tar jcf respaldo_hora_$FECHA_HORA -g respaldo_diario_$FECHA.tar.bz2


Saludos.
  #4 (permalink)  
Antiguo 06/10/2015, 11:45
 
Fecha de Ingreso: agosto-2007
Mensajes: 71
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Algunas dudas con TAR para hacer copias de seguridad

Ante todo, gracias a ambos por responder.

lauser Estoy seguro de que habrá procesos más simples que esto, pero lo que me piden en la asignatura es usar el comando tar.

AlvaroG Te agradezco que te hayas tomado la molestia de ir respondiéndome punto por punto, pero aún así no me queda demasiado claro, por lo que intentaré ir paso a paso por si puedes ayudarme.

Para el punto 1:

La cosa es que lo he probado varias veces y nunca me funciona. ¿Donde lo pongo en el código que pase? Mi idea es especificarle que las copias se guarden en /copias/backups. Por lo tanto, ¿sería así?

Código:
tar -cjvf CopiaTotal_home_usuario-`date +%d%b%y`.tar.bz2 /home/usuario -C /copias/backups
Para el punto 2:

A lo que me refiero es como se introduce el parámetro -g y el -N en el código anterior por separado. Es decir, cual sería el código para la incremental (-g) y cual para la diferencial (-N).

Para el punto 3:

Eso que me pones de $FECHA me ha descolocado completamente, ya que no se usarlo.

Imagino que la estructura de copias es algo necesario, pero el ejercicio no especifica ningún supuesto para desarrollarlo. Aún así, me invento uno ahora aquí para que puedas echarme una mano.

Supongamos que quiero hacer una copia total todos los lunes. Además, quiero aplicar una copia incremental cada día a partir del martes hasta el domingo. De igual forma, quiero aplicar una diferencial cada día a partir del martes hasta el domingo.

Muchas gracias.
  #5 (permalink)  
Antiguo 06/10/2015, 17:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Algunas dudas con TAR para hacer copias de seguridad

Tal y como has puesto la opción -C es como debe usarse. Si no recuerdo mal, el directorio debe existir previo a la ejecución de tar.

-g lleva el nombre de otro archivo .tar (el que debe ser la base para el respaldo), y -N lleva una fecha en formato "%F\ %T", o lo que es lo mismo "%Y-%m-%d %H:%M:%S". Tus opciones son guardar la fecha de creación del último respaldo completo, u obtener la hora de modificación del archivo con algo como
Código BASH:
Ver original
  1. stat -c %y respaldo_completo.tar.bz2 | cut -d. -f 1

En los ejemplos de mi mensaje anterior, $FECHA es simplemente el resultado de correr "date" con el formato que quieras, $FECHA_AYER es lo mismo pero para el día anterior, y $FECHA_HORA sería una variable conteniendo una fecha y una hora. Solamente usé esas variables para no tener que referirme a una fecha concreta.

Etiquetas: copias, dudas, linux, seguridad, server, tar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:02.