¡ESTE SITIO WEB YA NO ESTA ACTUALIZADO!
Los últimos posts están en http:/blog.freniche.com/
Por favor, actualiza tus enlaces y perdona las molestias.
Backup-system
Este script lo utilizo para realizar copias de seguridad completas de algunas carpetas de mis máquinas. La lista de las carpetas que quiero copiar se indican en un fichero que debe llamarse BACKUP-SYSTEM.CONFIG y que debe estar en la misma carpeta donde instaleis el script backup-system.sh.
Instrucciones de instalación
Recuerda que antes de utilizar cualquier script que te bajes de Internet debes hacer varias cosas:
1. Leertelo bien para comprobar que no hace cosas raras ni es dañino (en mi caso te puedes fiar de mi palabra :-) )
2. Activar los permisos de ejecución mediante un chmod a+x script.sh
3. Cambiar a root, si el script así lo necesita (en este caso, si vas a copiar /etc por ejemplo SI lo necesitas)
4. Ejecutarlo mediante ./backup-system.sh
5. Enviarme un correo si encuentras problemas o quieres enviarme dinero que te sobre.
El código del script:
# backup-system.sh: a small script to automate full backups
# it needs a file name BACKUP-SYSTEM.CONFIG in the same directory where this
# shellscript resides
source util.sh
source BACKUP-SYSTEM.CONFIG
#read_parameter BACKUP-SYSTEM.CONFIG DEST_DIR
#read_parameter BACKUP-SYSTEM.CONFIG BACKUPDIRS
CURR_DATE=`current_date`
echo "backup-system.sh will start in 20 sec."
echo "It will back-up:"
echo $BACKUPDIRS
echo "to destination dir:"
echo $DEST_DIR
echo "Press Ctrl+C to cancel or wait to start"
sleep 20
# STEP 1: compress all stuff
for path in $BACKUPDIRS
do
NOSLASH_PATH=`echo $path | sed -e 'y/\//-/'`
NOSLASH_PATH=$CURR_DATE-$NOSLASH_PATH
echo "System backup on $path"
tar cvf $DEST_DIR/$NOSLASH_PATH.tar $path 1>$DEST_DIR/$NOSLASH_PATH.log
echo "System backup on $path finished, details on $DEST_DIR/$NOSLASH_PATH.log"
sleep 2
done
# STEP 2: verify tars
echo "System backups complete, status: $?"
echo "Now verifying system backups"
for path in $BACKUPDIRS
do
NOSLASH_PATH=`echo $path | sed -e 'y/\//-/'`
NOSLASH_PATH=$CURR_DATE-$NOSLASH_PATH
echo "Verifying $path...." >> $DEST_DIR/$NOSLASH_PATH.log
echo "Verifying $path...."
tar tf $DEST_DIR/$NOSLASH_PATH.tar 1>>$DEST_DIR/$NOSLASH_PATH.log
if [ $? -eq 0 ]
then echo "$path: verified"
else echo "$path: error(s) in verify"
fi
done
# STEP 3: compress and verify compressed files
for path in $BACKUPDIRS
do
NOSLASH_PATH=`echo $path | sed -e 'y/\//-/'`
NOSLASH_PATH=$CURR_DATE-$NOSLASH_PATH
echo "Compressing $path...."
echo "Verifying $path...."
gzip -v $DEST_DIR/$NOSLASH_PATH.tar 1>/dev/null
gzip -t $DEST_DIR/$NOSLASH_PATH.tar.gz 1>/dev/null
if [ $? -eq 0 ]
then echo "$path: verified"
else echo "$path: error(s) in verify" 1>&2
fi
done
echo "Please remove backup tape"
Un ejemplo de fichero de configuración (BACKUP-SYSTEM.CONFIG)
# the various dirs to backup
BACKUPDIRS="/etc /root /boot /home/dfreniche/evolution /home/dfreniche/Documentos /home/dfreniche/webs /usr/local \
/var/lib/mysql"
# without trailing slash
DEST_DIR=/mnt/einstein-public/backup
Descárgatelo
|
1.8 K |
|
|
230 |