Respaldando por e-mail
Requiere un servidor de correo local que pueda enviar correo a la cuenta de destino en forma normal.
apt-get install biabam sharutils file
Description-en: bash attachment mailer A tool that is used for mailing attachments from the commandline. It is similar to using Mutt to send attachments on the commandline, but without the overhead of a complete email client.
Script de respaldo
En caso de ser pocos los archivos a respaldar se puede usar una variable en lugar de un archivo externo. Las lineas a cambiar serían:
RESPALDAR=( /etc/resolv.conf /etc/ppp /etc/default /etc/network/interfaces ) cp -r --preserve --parents ${RESPALDAR[@]:0} $DIRDEST
Script para respaldo de muchos archivos
#!/bin/bash # # respaldo y envio por e-mail # En mismo directorio respaldar.txt para lista archivos, uno por linea if [ -h $0 ]; then RESPARCHIVO=`dirname $(readlink $0)`/respaldar.txt; else RESPARCHIVO=`dirname $0`/respaldar.txt; fi if [ ! -f $RESPARCHIVO ]; then echo "Archivo $RESPARCHIVO no encontrado" | /usr/bin/mail -s "$HOSTNAME Error" $TO; exit 1 fi TO="rootway@email-gmail.com" DATE=$(date +%Y%m%d-%H%M) DIRTMP=$RANDOM DIRDEST=/tmp/$DIRTMP/$HOSTNAME-$DATE mkdir -p $DIRDEST dpkg --get-selections > $DIRDEST/dpkg-selections for RESPALDAR in $(cat $RESPARCHIVO); do cp -r --preserve --parents $RESPALDAR $DIRDEST done cd $DIRDEST tar czf /tmp/$DIRTMP/$HOSTNAME-$DATE.tgz . if [ -x /usr/bin/biabam ]; then echo "Adjunto archivo respaldo $HOSTNAME de fecha $DATE" | /usr/bin/biabam /tmp/$DIRTMP/$HOSTNAME-$DATE.tgz \ -s "RESPALDO $HOSTNAME del $DATE" $TO else echo "No existe el utilitario biabam, instale el paquete" | /usr/bin/mail -s "$HOSTNAME Error" $TO fi rm -R /tmp/$DIRTMP exit 0
En caso de que el archivo creado supere los 8M es posible que el correo generado quede demasiado grande para ser enviado. En esos casos hay que usar multiples volúmenes y varios archivos, con rar
ó tar -M
respaldar.txt
En el mismo directorio un archivo con el listado de archivos o carpetas a respaldar:
/etc/resolv.conf /etc/ppp /etc/default /etc/network/interfaces
Correr con cron
Colocar en /etc/cron.daily
con el comando:
ln -s /usr/local/sbin/respaldar.sh /etc/cron.daily/respaldar
Mantenimiento cuenta GMail
Archivos que gmail no acepta
for i in .ade .adp .bat .chm .cmd .com .cpl .exe .hta .ins .isp .jse .lib .mde .msc .msp .mst .pif .scr .sct .shb .sys .vb .vbe .vbs .vxd .wsc .wsf .wsh; do find /etc -name "*$i"; done