Antes de nada saludos a la lista de nuvo, he pasado mucho tiempo sin aparecer por aqui. No llego a tiempo de felicitar las navidades pero sí lo que queda de fiestas y el año nuevo. Para los backups yo normalmente suelo recoger a mano lo que me interesa. Genero un directorio y pongo dentro las cosas que quiero guardar. Una vez tengo recopilado todo, comprimo el directorio y lo paso a un servidor de backups que tengo montado en casa. Este proceso es automatico y se hace cada dia a las 5:00 de la madrugada. El backup se realiza con retención semanal, lo que significa que tengo siempre las copias de los ultimos 7 dias. Para hacer esto os recomiendo usar un simple shell-script que se puede automatizar en el Cron. EL shellscript puede ser algo así: -------------------- Start here ------------------------ #!/bin/bash DATE=`/bin/date +%F` TMPDIRPARENT="/tmp/backup" TMPDIR="/tmp/backup/$DATE" BACKUPDIR="/var/spool/backup" ERRORLOG="/tmp/backuperrors-$DATE.log" # Especificar aqui el numero de dias de retencion # que debe tener el backup RETENTION="7" # Añadir aqui los ficheros o directorios de los que # se quiere hacer copia. # Añadir cada entrada en una linea separada puede # ayudarte a reconocer a simple vista las rutas. ORIG="\ /home/ivan \ /etc/mail \ /etc/samba \ /var/log \ /etc/resolv.conf \ /etc/network/interfaces" # se borra el fichro de log por si ya hubiera uno # que se llame igual rm $ERRORLOG 2>/dev/null # se crean los directorios porque teoricamente algunos # no estan creados todavia if `! test -d $BACKUPDIR` then mkdir $BACKUPDIR 2>>$ERRORLOG fi mkdir -p $TMPDIRPARENT 2>>$ERRORLOG mkdir -p $TMPDIR 2>>$ERRORLOG # se copian los datos sensibles al directorio # temporal de backup for DIR in $ORIG do cp -Rp $DIR $TMPDIR/ 2>>$ERRORLOG done # comprimimos el backup y lo ponemos en su sitio cd $TMPDIRPARENT tar zcvf $DATE.tar.gz $DATE/ 2>>$ERRORLOG mv $DATE.tar.gz $BACKUPDIR 2>>$ERRORLOG # ahora controlamos la retencion del backup cd $BACKUPDIR BCKCOUNT=`ls *.tar.gz | wc -w` if `test $BCKCOUNT -gt $RETENTION 2>> $ERRORLOG` then TRASHFILE=`ls *.tar.gz | head -n 1 2>> $ERRORLOG` rm $TRASHFILE 2>>$ERRORLOG fi # borramos los directorios temporales rm -rf $TMPDIR # si no ha habido errores damos un OK, de lo contrario # cantamos error. if `test -s $ERRORLOG` then OUTPUT="*** ERROR: see $ERRORLOG for details." else OUTPUT="* Backup successfully archived." fi # mensaje de salida echo " " echo $OUTPUT echo " " ---------------- End Of File ----------------------------- Es un ejemplo que acabo de inventar, imagino que es posible que algo no funcione bien, pero no hay que ser ningun lumbreras para echarle un vistazo y corregirle los fallos que pueda tener. Como veis, solamente hace falta modificar 2 parametros. Primero el numero de dias de retencion (numero de backups antiguos que deseamos guardar). Despues los directorios o ficheros que deseamos guardar, que pueden ponerse todos seguidos en una sola linea, pero yo siempre estas cosas prefiero hacerlas de linea en linea para ver facilmente lo que contiene la variable a un simple golpe de vista. Ahora para ejecutarlo lo que podeis hacer es copiar el texto del script tal cual, y pegarlo en un fichero nuevo. Por ejemplo, un fichero que se llame "makebackup.sh". Ahora, como root (muy importante heheh) copiais el fichero a /usr/local/sbin: # cp /home/ivan/makebackup.sh /usr/local/sbin/ # chmod 0700 /usr/local/sbin/makebackup.sh ahora, cada vez que querais hacer un backup, podeis hacerlo a mano tecleando simplemente: # makebackup.sh Si quereis que los backups se hagan automaticamente cada dia a las 5 de la madrugada (por ejemplo) solo teneis que ponerlo en el cron: # crontab -e esto os abrirá un editor de tablas cron. En principio estais editando con el editor "vi", que es un poquito complejo. Si deseais editarlo con kedit (por ejemplo) solo teneis que pasarlo como variable de entorno al ejecutar el editor de cron: # env VISUAL=/usr/bin/kedit crontab -e Conste que no uso kedit y no se donde esta su Path, asi que me lo acabo de inventar. Revisad esto antes de ejecutarlo. Bien, una vez tengais delante el editor de tablas cron, quye seguramente va a estar vacio, añadis la linea que automatizará vuestro backup: 0 5 * * * /usr/local/sbin/makebackup.sh 1>/dev/null Podeis salir del editor guardando lso cambios aplicados al fichero. A partir de ahora se realizará vuestro backup a las 5 de la madrugada de cada dia. Si alguien desea cambiar cualquier aspecto de este sistema pequeñito de backups, le recomiendo que lea los "man" y howto's del cron, y que aprenda un poquito de bash, que no es muy dificil y da mucho juego. Por otro lado, si alguien desea implementar soluciones de backup incrementales y completas para sistemas de produccion o preproduccion, os recomiendo encarecidamente "Amanda". Si deseais implementar un sistema de backup para disaster recovery, os recomiendo muy mucho "Mondo Rescue". A efectos de usar esta herramienta MUY POTENTE, os recomiendo echar un ojo a este pequeño documento que escribió mi compañero Marcos Martinez en su dia: http://www.assl-site.net/article.php?story=20041108192759240&query=mondo Espero haberos ayudado aunque sea un poco. Salu2! ____________________________________________________| / | Iván Belmonte | | mail: [email protected] | URL: www.ivanhq.net | ASSL member (http://assl-site.net) | [Linux User]: 265975 \________________________ On Wed, 28 Dec 2005 23:13:30 +0100 Marcos Guglielmetti <[email protected]> wrote:
On Tuesday 27 December 2005 12:42, Javier Castrillo wrote:
Siempre tengo esa duda existencial.... el sistema debe hacerlo por la propia o el usuario debe ser más avivado???? sobre todo nosotros que la vamos de geeks o usuarios superiores por no usar Win$ y asistentes con perritos que desean ayudarte a escribir una carta. Nos molesta que el software se crea más piola que nosotros. En este caso fuí yo el bobo que antes de reparticionar debí haber tomado backup (o notas ) de los archivos de configuración principales. Cosa básica en cualquier lugar del mundo. Si el sistema lo hace por mí, me está haciendo un poquito más idiota... aunque en este caso los damnificados son los que tienen que usar su tiempo para reexplicarme algo que ya sabía..... en fin. A veces que las cosas sean más fáciles o automáticas hacen que la cosa no sea tan divertida.
Un abrazo, gracias y nuevamente disculpas.
Yo creo que hay personas para todo: geeks, usuarios normales, músicos que nunca usarán nada informático, etc. Pero porque hay mucha variedad de personas, deberíamos poder adaptar el sistema a ellos...
¿Alguien conoce una iniciativa (aplicación) para hacer backups de los archivos de configuración en un sistema tipo _Debian_ para restaurar en caso de problemas?
Si no existe, podríamos hacerlo, sería sencillo, creo.