#!/bin/bash
# full and incremental backup script
#Cambiar estos 5 valores para adecuarlo al sistema
MAQUINA=debian # nombre de la máquina
DIRECTORIOS=”/bin /boot /emul /etc /initrd /lib /opt /root /sbin /srv /usr /var” #directorios a respaldar
BACKUPDIR=/home/Backups # Directorio donde se guarda el backup (debe existir)
FECHADIR=/home/Backups # Directorio donde se guarda la fecha del último backup completo
TAR=/bin/tar # localización del ejecutable tar (se localiza con whereis tar)
# A partir de aquí no hace falta tocar nada
PATH=/usr/local/bin:/usr/bin:/bin
DSEM=`date +%a` # Día de la semana (por ej. mié)
DMES=`date +%d` # Día del mes (por ej. 06)
DM=`date +%d%b` # Día y mes (por ej. 06jun)
# Cada 1 de mes se hace un backup completo
# Cada Domingo se hace otro backup completo sobrescribiendo el backup del domingo anterior
# Cada día se realiza un backup incremental. Cada backup incremental sobrescribe
# el backup incremental del mismo día de la semana anterior.
# “NUEVO” coge la fecha del backup completo de cada domingo para realizar un backup de los archivos creados a partir de la fecha de "NUEVO".
# Backup mensual completo - sobrescribe el del mes anterior
if [ $DMES = "01" ]; then
$TAR -cf $BACKUPDIR/$MAQUINA-$DM.tar $DIRECTORIOS
fi
# Backup semanal completo
if [ $DSEM = "dom" ]; then
AHORA=`date +%d-%b`
# Actualizar fecha del backup completo
echo $AHORA > $FECHADIR/$MAQUINA-fecha-backup-completo
$TAR -cf $BACKUPDIR/$MAQUINA-$DSEM.tar $DIRECTORIOS
# Backup incremental diario - sobrescribe el de la semana anterior
else
# Obtener fecha del último backup completo
NUEVO="--newer=`cat $FECHADIR/$MAQUINA-fecha-backup-completo`"
$TAR $NUEVO -cf $BACKUPDIR/$MAQUINA-$DSEM.tar $DIRECTORIOS
fi
Cap comentari:
Publica un comentari a l'entrada