Script en bash para hacer una copia de seguridad de un correo o una lista de correo de qmail/vpopmail

d
Autor: Rock Neurotiko
Descripción: Script en bash para hacer una copia de seguridad de un correo o una lista de correo de qmail/vpopmail.
El uso es simple, se le dan permisos de lectura y escritura de root (700) y lo ejecutas con un parámetro, éste parámetro es el nombre de la lista/email.
Por ejemplo, si es hola@dominio.com lo llamas como "./script.sh hola" y te crea un tar.gz.
El script no está mejorado y se podría hacer mejor, ya que necesitas cambiar la variable DIR y que donde ponga dominio ponga el dominio que tienes, y necesita tener los siguientes directorios:
/var/lib/vpopmail/domains/backups
/var/lib/vpopmail/domains/backups/listas
/var/lib/vpopmail/domains/backups/correos
Contacto: @Binaryrock
#####

#!/bin/bash

NOMBRE=""

#Variables de control de directorios
#Han de estar creados los directorios:
#/var/lib/vpopmail/domains/backups/
#/var/lib/vpopmail/domains/backups/listas/
#/var/lib/vpopmail/domains/backups/correos/

DIR="/var/lib/vpopmail/domains/dominio/"
DIR2="/archive/"
DIR3="/Maildir/cur/"
BACKDIR="/var/lib/vpopmail/domains/backups/"
FIN4="listas/"
FIN5="correos/"

cd $BACKDIR

NUM=1
while [ $NUM -le 2 ]; do
#Lee el nombre para hacer el backup
    echo "Escriba el nombre del correo/lista a hacer backup: "
    read NOMBRE
#Si el nombre es exit, se sale
    if [ "$NOMBRE" = "exit" ]; then 
 break
    fi
#Si el nombre es un correo, hace su backup
    if [ -d "$DIR$NOMBRE$DIR3" ]; then
 cd $FIN4
 echo "Haciendo backup de: " $NOMBRE
 tar -cvf $NOMBRE.tar $DIR$NOMBRE$DIR3
 echo "Backup de: " $NOMBRE " terminado."
 cd -
#Si el nombre es una lista, hace su backup
    elif [ -d "$DIR$NOMBRE$DIR2" ]; then
 cd $FIN5
 echo "Haciendo backup de: " $NOMBRE
 tar -cvf $NOMBRE.tar $DIR$NOMBRE$DIR2
 echo "Backup de: " $NOMBRE " terminado."
 cd -
#Si no existe el nombre
    else
 echo "No existe " $NOMBRE ". Recuerda que si quieres salir, has de escribir exit."
    fi


done

####

0 comentarios: