Unix - script de respaldo

   
Vista:

script de respaldo

Publicado por Aldo aldosman@hotmail.com (6 intervenciones) el 18/06/2013 00:22:32
hola, el tema es este, tengo que hacer un script el cual respalde carpetas en una ruta, la verdad no tengo experiencia en unix asi que estoy un tanto perdido, resulta ser que siempre debe haber respaldo de 7 dias, es decir, hoy lunes, debe haber respaldo del lunes de la semana pasada a ayer domingo, mañana (martes), este script debe crear el de hoy y eliminar el del lunes pasado y asi sucesivamente, espero me puedan ayudar.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Unix
- Cursos de Unix
- Temas de Unix
- Chat de Unix
información
Cursos y Temas de Unix
- Shell Scripts
- Unix Programmer's Manual
- Unix Programmer's manual
Imágen de perfil de xve

script de respaldo de 7 dias

Publicado por xve (60 intervenciones) el 18/06/2013 07:44:34
Hola Aldo, una manera podria ser utilizando rsync, y guardando la copia con el dia de la semana... algo así:
1
rsync -auv --backup-dir=old_`date +%u` --delete --exclude=old_* source/ destination/

Esta linea, te generara una carpeta para cada día de la semana (1-lunes...7-domingo), actualizandola automáticamente la próxima semana.

Si esto lo pones en el cron.daily, no deberías de tener ningún problema.

coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de barnarasta

script de respaldo de 7 dias

Publicado por barnarasta (61 intervenciones) el 19/06/2013 23:49:22
Otro enfoque:

#!/bin/bash
####### Dia de la semana, adjudicando literal del dia sin acentos y con extension #######
dia=`date +%u`
case $dia in
1) diasem="-Lunes.gz";;
2) diasem="-Martes.gz";;
3) diasem="-Miercoles.gz";;
4) diasem="-Jueves.gz";;
5) diasem="-Viernes.z";;
6) diasem="-Sabado.gz";;
7) diasem="-Domingo.gz";;
esac

/bin/tar cfz /tmp/copias/$diasem /home/...................
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

script de respaldo de 7 dias

Publicado por xve (60 intervenciones) el 20/06/2013 08:06:26
Hola Barnarasta, muy bueno también, pero el problema que le veo, es que al utilizar tar siempre lo tiene que agrupar y comprimir entero, por lo que si hablamos de mucha información puede tardar mucho, pero si lo haces con rsync, únicamente te restaura la parte que ha variado, no la copia entera.
Pero por otro lado, tienes la ventaja que te lo guarda comprimido!!!

Muy bueno!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de barnarasta

script de respaldo de 7 dias

Publicado por barnarasta (61 intervenciones) el 20/06/2013 10:09:28
Totalmente de acuerdo con tu observacion, xve,
quizas entendi en el enunciado de 'aldo' que deseaba una respaldo total y no incremental.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

script de respaldo de 7 dias

Publicado por Aldo aldosman@hotmail.com (6 intervenciones) el 20/06/2013 18:42:33
como les comentaba, no tengo experiencia en unix, no se bien donde podria insertar los comentarios que me han hecho, hasta el momento llevo esto

#! /usr/bin/ksh
# Respaldo MetaDatos
fecha=`date +%d-%m-%Y`
# Define la ruta donde se va a ejecutar el respaldo
cd /sas/sasconf/Lev1/SASMeta/MetadataServer
./MetadataServer.sh start
# Pausa de tres minutos
sleep 180
# Ejecuta el backup
./MetadataServer.sh backup
# Copia recursiva del contenido
cp -R SASBackup SASMetaBackup_[fecha]
#Mueve el contenido
mv SASMetaBackup_[fecha] /spds2

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de barnarasta

script de respaldo de 7 dias

Publicado por barnarasta (61 intervenciones) el 20/06/2013 22:23:15
Hola 'aldo'

para poder tirarte una ayudita con el tema necesitamos saber :

- que distribucion de UNIX tienes ?
- el backup debe ser total o incremental ?

************* basicamente debes pensar en crear un archivo con un editor tipo 'vi' en zona de PATH ejecutable, por ejemplo /usr/bin
# cd /usr/bin
# vi [ nombre ]
******* el esquema interno de este archivo debiera estar compuesto de:
1
2
3
4
5
6
7
8
9
### definicion de variables a utilizar
dia=`date +%u`
nombre="nombre_del_archivo_respaldo"
rutaparacopiar="/sas/sasconf/Lev1/SASMeta/MetadataServer"
rutadestino="/tmp/"
dat=$dia"-"$nombre".gz"
############# Ejecutamos para copia completa 
 
/bin/tar cfz  $rutadestino$dat $rutaparacopiar


===================================================================
guardamos y le damos permisos de ejecucion
# chmod a+x /usr/bin/[nombre]
=================================================================
para ejecucion manual
# [nombre]
==============================================================
para ejecucion programada diaria a las 23:15
# crontab -e
=====> insertamos
15 23 * * * /usr/bin/[nombre]
################################################################
nos comentas , ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

script de respaldo de 7 dias

Publicado por Aldo aldosman@hotmail.com (6 intervenciones) el 21/06/2013 19:34:17
hola, la version es aix 5.1, los respaldos deben ser incrementales, pero ya me aumentaron lo que debe hacer, lo que les decia en el primer post, los 7 dias,pero aparte, tambien debe guardar los ultimos 4 viernes y los ultimos del dia 25 de 12 meses, es decir, hoy 21-06-13,deberia tener:

diario del viernes 14-06-13 al jueves 20-06-13
semanal ultimos 4 viernes, 14-06-13, 07-06-13, 31-05-13 y 24-05-13
mensual ultimos 12 meses, 25-05-13, 25-04-13, 25-03-13, 25-02-13, 25-01-13, 25-12-12, 25-11-12, 25-10-12, 2509-12, 25-08-12, 25-07-12, 25-06-12.

saludos y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar