Script backup con rsync y diff (desarrollo)

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
opmeitle
Forista Nuevo
Forista Nuevo
Mensajes: 16
Registrado: Sab Feb 11, 2012 11:52 pm

Script backup con rsync y diff (desarrollo)

Mensaje por opmeitle » Sab Jul 21, 2012 7:23 pm

Buenas noches, como andan? bueno me alegro que todo bien.

Necesito hacer una función que compare dos listas y me devuelva un resultado de fácil lectura - la primera lista debe ser con las carpetas y archivos que contiene el array y la segunda con las mismas carpetas y archivos que contiene el array pero en el disco de respaldo. La idea es contemplar los archivos que deben ser guardados cuando el disco de respaldo no esta conectado. probé algunas alternativas pero no me convencen, no me dan el resultado esperado

Código: Seleccionar todo

backup  (){
log="/home/opmeitle/Dropbox/logs/log-backup2.log"
disk="/media/RSYNC-RESPALDO"
    directories=( #ARRAY CON DIRECTORIOS DE RESPALDOS
        /var/log
        /var/www
        /home/opmeitle/Escritorio
        /home/opmeitle/Dropbox
        /home/opmeitle/Documentos
        /home/opmeitle/Descargas
    );
for i in ${directories[@]}; do
    rsync -uavzr $i $disk | tee >> $log;
done
}
Diferencias entre archivos actuales y respaldados. (necesito una salida que diga cuales son los archivos nuevos)

Código: Seleccionar todo

comp () {
b=$(ls /media/RSYNC-RESPALDO)
disk="/media/RSYNC-RESPALDO"
for i in ${directories[@]}; do
    ls -R $i >> list.log
done
for x in $b; do
    ls -R $disk/$x >> list2.log
done
diff list2.log list.log > respaldar.log
}

Código: Seleccionar todo

if [ -d $disk ]; then
    backup
else
    comp #EJECUTAR FUNCION QUE COMPARE ARCHIVOS ACTUALES CON LOS GUARDADOS EN $DISK.Y SEGUN DIFERENCIA ENVIAR ALERTA DE CONECTAR EL DISCO PARA EFECTUAR RESPALDO.
fi
Última edición por Yoyo el Sab Jul 21, 2012 7:23 pm, editado 1 vez en total.
Razón: Mensaje editado por el administrador por incluir todo el título en mayúscula. Por favor, revisa el reglamento del foro
Snark1994
Forista Menor
Forista Menor
Mensajes: 76
Registrado: Sab Abr 02, 2011 11:43 pm

Re: Script backup con rsync y diff (desarrollo)

Mensaje por Snark1994 » Mar Jul 24, 2012 6:22 pm

¿Por qué "-d $disk"? Significa "sí exista la carpeta $disk" no "sí el disco duro es conectado"... Dices
EJECUTAR FUNCION QUE COMPARE ARCHIVOS ACTUALES CON LOS GUARDADOS EN $DISK.Y SEGUN DIFERENCIA ENVIAR ALERTA DE CONECTAR EL DISCO PARA EFECTUAR RESPALDO.
pero en "comp", supones que el disco duro es conectado, porque ejecutas "ls -R $disk/$x >> list2.log".

También, se dice "foo | tee $log", no "foo | tee >> $log".

Finalmente, ¡no entiendo por qué 'comp' crea los diarios, porque 'backup' no les lee!

Pero es posible que te he entiendo mal lo que piensas de hacer...
No soy hispanohablante - si he cometido un error con mi español, dime por favor :) me gustaría mejorarlo
Avatar de Usuario
niky45
Forista Ancestral
Forista Ancestral
Mensajes: 9186
Registrado: Jue Abr 12, 2007 7:00 am
Ubicación: tras la pantalla (...)
Contactar:

Re: Script backup con rsync y diff (desarrollo)

Mensaje por niky45 » Mar Jul 24, 2012 6:57 pm

:? ganas de complicarse la vida que tiene la gente.... esto vendria a ser mi script de backup, con modificaciones para tu condicion de verificarq ue el disco este a

Código: Seleccionar todo

mount |grep /mnt/backup && rsync -aHDSx --delete --stats --progress -ih /origen /destino

#### notas: 
# /mnt/backup es el punto de montaje del disco de backup
# he metido todas las opciones de rsync que he visto en mi script. igual son muchas. la base es el  -aHDSx --delete 
# /origen y /destino son respectivamente, las rutas. 
mas info: man rsync. no necesitas hacer cosas raras, rsync ya te da las opciones para hacer lo que quieras.

PD: mi script completo: http://nikyscripts.svn.sourceforge.net/ ... /rbkp/0.1/ :D
#446716
>>"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)

[ DNFD ] - [ F4A ] - [ dotfiles ]
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje