Script para backup Zimbra Comunity Edition

TEMA: ZIMBRA
Descargar archivo

carpeta_para_guardar_el_backup="/home/soporte/backups"
mkdir $carpeta_para_guardar_el_backup
#carpetas_para_archivar="/etc /opt /var"
carpetas_para_archivar="/opt/zimbra"
archivo_destino=$carpeta_para_guardar_el_backup/$(date +"%Y_%m_%d__%H_%M")_backup_zimbra.zip
#archivo_destino=$carpeta_para_guardar_el_backup/backup_zimbra.tar
comando="tar -cf "
echo $(date +"%Y/%m/%d %H:%M:%S ")"------ Iniciando el proceso de backup ------" >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"Deteniendo Zimbra:" >> $carpeta_para_guardar_el_backup/registro.txt
/etc/init.d/zimbra stop >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"Zimbra detenido" >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"Iniciando proceso de backup" >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"Archivo destino: "$archivo_destino >> $carpeta_para_guardar_el_backup/registro.txt
$comando $archivo_destino $carpetas_para_archivar >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"Finalizo proceso de backup" >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"Iniciando Zimbra" >> $carpeta_para_guardar_el_backup/registro.txt
/etc/init.d/zimbra start >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"Zimbra Iniciado" >> $carpeta_para_guardar_el_backup/registro.txt
echo $(date +"%Y/%m/%d %H:%M:%S ")"------ Finalizo el proceso de backup ------" >> $carpeta_para_guardar_el_backup/registro.txt

programacion del script:
crontab -e
agregar la linea:
1 4 * * * sh /root/backup.sh
Es decir que el proceso de backup se realizara todos los dias de todo el mes a las 4:01 AM


7 comentarios:

  1. muy bien... hermano luego de tener ese respaldo como puedo montar ese respaldo en otro servidor ?

    ResponderEliminar
  2. Hola!
    bueno primero te cuento que en esta linea:
    archivo_destino=$carpeta_para_guardar_el_backup/$(date +"%Y_%m_%d__%H_%M")_backup_zimbra.zip

    esta mal, toca cambiar la extensión por .tar,

    Por otro lado para montarlo en otro equipo, debes configurarlo muy parecido al primero, eso quiere decir mismo hostname, ip, y resolución de nombres, instalas una versión de Zimbra normalita, detienes zimbra, cambias de nombre la carpeta /opt/zimbra por /opt/zimbraxxx, descomprimes el backup "tar -xzf paquete.tar" y copias la carpeta zimbra del backup en /opt, como root corres /opt/zimbra/libexec/zmfixperms, inicias zimbra y listos!! todo debería correr adecuadamente.

    ResponderEliminar
  3. el backup lo tengo q relizar como root ?

    ResponderEliminar
  4. Estoy probando el script y si ejecuta el respaldo, pero a la vez envia este mensaje a pantalla.

    tar: Eliminando la `/' inicial de los nombres
    tar: /opt/zimbra/data/postfix/spool/public/flush: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/public/showq: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/public/cleanup: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/local: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/smtp: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/cyrus: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/trace: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/uucp: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/proxymap: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/smtp-amavis: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/relay: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/anvil: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/old-cyrus: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/bounce: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/lmtp: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/verify: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/scache: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/ifmail: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/discard: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/tlsmgr: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/maildrop: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/defer: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/virtual: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/bsmtp: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/retry: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/rewrite: el `socket' no se tendrá en cuenta
    tar: /opt/zimbra/data/postfix/spool/private/error: el `socket' no se tendrá en cuenta

    Gracias.
    David.

    ResponderEliminar
  5. David, gracias por escribir. David sera que no estas como usuario zimbra?, ahora que parece ser un archivo tipo socket, que tal vez no sea necesario en la restauración. Aun así, este tipo de backup es para una versión vieja de zimbra, no se cual usas.

    ResponderEliminar
  6. Hola, vi que hay un plug para hacer backups en internet, z extras se llama, alguien lo probó o tiene idea si funciona?

    ResponderEliminar
  7. La version de zimbra que utilizo es:

    Release 7.1.3_GA_3346.UBUNTU10_64 UBUNTU10_64 FOSS edition.

    Por cierto, lo ejecuto como root, claro que dentro del script se mantiene el usuario zimbra.

    ResponderEliminar

Gracias por tus comentarios!