Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ############################################################
- # #
- # Parámetros de configuración. Modificar según necesidades #
- # #
- ############################################################
- maquina=el nombre de tu máquina
- origen="/home/usuario"
- destino="/media/pendrive/Backups" #donde se monte el pendrive
- fecha="`date +%d-%m-%Y`"
- fecha2="`date +%d-%m`"
- dow=`date +%w`
- dowl=`date +%a`
- dom=`date +%d`
- dm=`date +%d%m`
- timedir="/media/pendrive/Backups/Completos"
- tar="/bin/tar"
- excluidos="/media/pendrive/excluidos.lst"
- clear
- sleep 1
- echo
- echo "*****************************************************************************"
- echo "* *"
- echo "* Script de backup incremental en un Dispositivo USB >> GLXBACKUP << *"
- echo "* *"
- echo "* Fecha y hora de la copia de seguridad *"
- echo "* `date +%d-%m-%Y` - `date +%H:%M:%S` *"
- echo "* *"
- echo "* Puedes modificarlo y/o distribuirlo bajo los términos de la licencia GPL *"
- echo "* *"
- echo "* Autor: Gerardo Seguín Giráldez (galux) galux_at_esdebian.org - Dic. '08 *"
- echo "* *"
- echo "*****************************************************************************"
- sleep 2
- echo
- echo " >> Introduzca ahora su Pendrive en el puerto USB"
- sleep 4
- echo
- echo " >> Se va a iniciar la copia de seguridad en unos segundos. Presione Ctrl + C si desea cancelarla"
- sleep 2
- echo
- printf " >> Iniciando script de backup GLXBACKUP"
- sleep 2
- echo
- echo
- printf " >> Comprobando si el dispositivo USB está montado, si no es así, se montará."
- echo
- sleep 1
- printf " ."
- sleep 1
- printf "."
- sleep 1
- printf "."
- sleep 1
- printf "."
- echo
- echo " >> correcto"
- sleep 1
- echo
- sleep 2
- echo " >> Se va a montar el dispositivo USB en /media/pendrive."
- sleep 1
- cmount=`mount | grep /dev/sdb`
- if [[ -z $cmount ]];then
- mount -v /dev/sdb1
- sleep 2
- echo
- echo " >> Dispositivo USB montado correctamente"
- fi
- sleep 2
- echo
- echo " >> La copia de seguridad de $origen va a ser archivada en su dispositivo USB con el nombre $maquina-$fecha.tar.bz2"
- sleep 2
- echo
- echo " >> Iniciando el proceso de copia de seguridad de $origen"
- sleep 2
- echo
- echo " >> Por favor aguarde, se está realizando la copia de seguridad; que tardará más o menos, en función de los archivos a copiar"
- sleep 4
- echo
- # comienza la copia de seguridad...
- # backup entero mensual
- if [ $dom = "01" ]; then
- $tar --exclude-from=$excluidos -jcvf $destino/$maquina-$dm.$fecha2.tar.bz2 $origen
- chmod 770 $destino/$maquina-$dm.$fecha2.tar.bz2
- fi
- # Backup total semanal
- if [ $dow = "0" ]; then
- ahora=`date +%d-%b`
- echo $ahora > $timedir/$maquina-Completos
- $tar --exclude-from=$excluidos -jcvf $destino/$maquina-$dowl.$fecha2.tar.bz2 $origen
- chmod 770 $destino/$maquina-$dowl.$fecha2.tar.bz2
- # Backup incremental que sobreescribe el de la semana pasada
- else
- NEWER="--newer `cat $timedir/$maquina-Completos`"
- $tar --exclude-from=$excluidos -jcvf $destino/$maquina-$dowl.$fecha2.tar.bz2 $origen
- chmod 770 $destino/$maquina-$dowl.$fecha2.tar.bz2
- echo
- sleep 2
- echo
- echo " >> Copia de seguridad realizada con éxito. Hora de finalización: `date +%H:%M:%S`"
- sleep 2
- echo
- echo " >> Ahora se desmontará el dispositivo USB"
- sleep 2
- echo
- umount -v /dev/sdb1
- sleep 2
- echo
- echo " >> El dispositivo USB se ha desmontado correctamente"
- sleep 2
- echo
- echo " >> Gracias por utilizar este script. Recuerde hacer copias de seguridad periódicas. Hasta pronto!"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement