Home
|
New Wiki
|
|
Login
|
User registry
|
Home Tree PDF
Home recordings
Projects
Desktools
Weather, clocks, timers
Sancho
Sync files(new)
lGantt
Gantts Charts
CsaWiki
Wiki Engine
Quizzer
Exam simulator
Gere
Graph Editor
Library
Search engine
MkThumbnails
TCPIP Proxy
Micro Web Server
Code Papers
J2EE Temp Folder
J2EE course (spanish)
Linux notes
Fun Java Projects
About me
Home
Guest book
Thoughts
Contact me
This Wiki
Wiki Scripts
Sand Box
Name
LinuxBackup
Title
Template:
view
fullview
Write Access:
Keywords:
!Backup incremental Esta es una forma de realizar backup incremental en servidores externos usando en este caso gmail. Luego de buscar con cpio, rsync y dump decidi quedarme con ''tar''. La idea es crear un backup semanal completo y luego incrementales diarios. Para crear los incrementales se usa la opcion --newer de tar y se le entrega la fecha del ultimo respaldo full realizado. Los backup quedan en una cuenta de correo de internet. !!Configuracion: # /opt/csa/sendmail.sh : shell para enviar correos con adjuntos # /opt/backup/fullbk.sh : script de backup completo # /opt/backup/incrbk.sh : script de backup incremental # /opt/backup/sync : scripts y datos de servidores remotos (samba) # /opt/backup/remote/mnt : carpeta con datos sincronizados de otros PCs # /opt/backup/
/data/full.tgz : Ultimo respaldo completo de NAME. # /opt/backup/
/data/iyyyymmdd_ddd.tgz : Ultimos respaldos incrementales despues del ultimo repaldo full de NAME. Cada carpeta a respaldar debe contener las carpetas con links a las carpetas a respaldar. * root * data **Nota**: El respaldo se realiza siguiendo links. **Listado 1**: fullbk.sh #!/bin/sh BASE=/opt/backup/$1 DATA=$BASE/data DEST=$DATA/full.tgz SOURCE=$BASE/root LOG=/opt/backup/log TODAY=`date "+%Y-%m-%d %a"` echo `date` Full $1 backup >> $LOG # Borrar copia existente /bin/rm -f $DEST # Crear respaldo local /bin/tar -chzf $DEST $SOURCE echo " " `/bin/ls -sh $DEST` >> $LOG # Borrar los respaldos incrementales /bin/rm -f $DATA/i* # Enviar correo # Convertir el archivo en varios archivos pequeños split -C 3m -a 1 $DEST $DEST. i=0; for f in $DEST.? ; do ((++i)) /opt/csa/sendmail.sh -s "$1 Full Backup (part $i) `date`" -a "$f" cuenta@sitio.com >> $LOG done; rm -f $DEST.? Originalmente no usaba split, pero los correos empezaron a ser demasiado grandes el sitio no lo soportaba **Listado 2**: incrbk.sh #!/bin/sh HOME=/opt/backup BASE=$HOME/$1 DATA=$BASE/data LASTFULL=$DATA/full.tgz SOURCE=$BASE/root TODAY=`date "+%Y-%m-%d_%a"` LASTDATE=`stat -c %y $LASTFULL` LOG=/opt/backup/log DEST=$DATA/i$TODAY.tgz echo `date` incremental $1 backup >> $LOG # Borrar el incremental existente (si existe) /bin/rm -f $INCRNAME # Crear incremental /bin/tar -chz --newer "$LASTDATE" -f $DEST $SOURCE echo " " `/bin/ls -sh $DEST` >> $LOG # Enviarlo por correo con la lista de archivos modificados # desde el ultimo full backup. cd $SOURCE /usr/bin/find . -newer $LASTFULL -follow -xtype f -printf "%t %kk %p \n" > $DATA/last cd $HOME /opt/csa/sendmail.sh -s "$1 Incremental Backup `date`" -a "$DEST" -l $DATA/last email@site.com >> $LOG !!Traer datos de otros computadores Para realizar backup de otros archivos estoy usando un script que monta datos **Listado 3**: adminSync.sh #!/bin/sh BASE=/opt/backup/remote mount -t smbfs -o username=Administrador,password=XXXXXX //Firenze/Admin $BASE/mnt || exit rsync -a --delete $BASE/mnt/. $BASE/Administracion/ umount $BASE/mnt !!Seamos flojos... usemos crontab **Listado 4**: crontab # # Backup de fuentes # 11 5 * * 0 /opt/backup/fullbk.sh sources 21 5 * * * /opt/backup/incrbk.sh sources # # Backup de documentos # 30 4 * * 0 /opt/backup/fullbk.sh firenze 20 4 * * * /opt/backup/incrbk.sh firenze # # Sincronizar archivos de firenze # 32 11,13,18,20,22 * * * /opt/backup/sync/adminSync.sh Ver referencias en: * [http://rsync.samba.org/examples.html] * [http://www.mikerubel.org/computers/rsync_snapshots/] * [http://www.faqs.org/docs/linux_admin/x2540.html]
editor uses
5
10
15
20
25
30
lines and
50
60
70
80
90
100
columns
Home
|
New Wiki