En esta ocasión montaremos un script que nos permite guardar comprimido los datos fundamentales de la Raspberry Pi
Para ello crearemos el siguiente scrpit
######################################################################################
#!/bin/bash
#Local
FICHERO=backup_`hostname`_`date +%d%m%y`.tar.gz
# Un log, porque la vida sin logs no es nada
RUTA_LOG="/home/antonio/scripts/log_backup.txt"
echo "#################################################################" >> $RUTA_LOG
echo "INICIO DEL BACKUP DATOS DEL SISTEMA" >> $RUTA_LOG
echo "#################################################################" >> $RUTA_LOG
echo `uptime` | sed -e 's/^[ \t]*//' >> $RUTA_LOG
echo "#################################################################" >> $RUTA_LOG
echo `date +"%T"` "comenzando backup sistema ..." >> $RUTA_LOG
sudo iw wlan0 set power_save off
sleep 1
sudo mount -av
sleep 1
#Borrado de los ficheros anteriores a seis meses
sudo find /mnt/copias/* -mtime +180 -exec rm {} \;
#Creamos el directorio temporal de copias
rm -rf /home/antonio/backup_tmp
mkdir /home/antonio/backup_tmp
#Backup base de datos si las hubiera
mysqldump --all-databases > /home/antonio/backup_tmp/mysql.sql
#copia de los datos importantes al directorio temporal
echo `date +"%T"` "copia de la los datos ..." >> $RUTA_LOG
dpkg --get-selections > /home/antonio/backup_tmp/Package.list
sudo cp -R /etc/apt/sources.list* /home/antonio/backup_tmp/
sudo cp -R /var/spool/cron/* /home/antonio/backup_tmp/
sudo apt-key exportall > /home/antonio/backup_tmp/Repo.keys
sudo cp -R /var/spool/cron/* /home/antonio/backup_tmp/cron/
#comprimir directorio
echo `date +"%T"` "comprimir los datos ..." >> $RUTA_LOG
tar -czf /home/antonio/backup_tmp/$FICHERO /home /etc /usr/local/etc /home/antonio/backup_tmp
#Subida de los datos
echo `date +"%T"` "Subida de la copia al NAS ..." >> $RUTA_LOG
cp /home/antonio/backup_tmp/$FICHERO /mnt/copias/
#Borrado del directorio tempotal
rm -rf /home/antonio/backup_tmp
echo "#################################################################" >> $RUTA_LOG
echo `date +"%T"` "FIN DEL BACKUP" >> $RUTA_LOG
echo "#################################################################" >> $RUTA_LOG
######################################################################################En menos de 15 minutos tendremos a buen recaudo una copia de todos nuestros datos
################################################################# INICIO DEL BACKUP DATOS DEL SISTEMA ################################################################# 11:32:49 up 6:32, 2 users, load average: 1,80, 1,95, 1,87 ################################################################# 11:32:49 comenzando backup sistema ... 11:35:13 copia de la los datos ... 11:35:15 comprimir los datos ... 11:38:06 Subida de la copia al NAS ... ################################################################# 11:46:38 FIN DEL BACKUP #################################################################
Solo falta ponerlo como tarea en cron y a funcionar
#Copia del sistema semanal 0 10 * * sat /bin/sh /home/antonio/scripts/sbackup.sh
Y esto es todo ……..