Warning: Invalid argument supplied for foreach() in /home/hugodoria/hdoria.archlinux-br.org/blog/wp-includes/classes.php on line 255
Script de backup do ExpressoMail | Hugo Doria

Script de backup do ExpressoMail

Hoje eu tive que fazer um script rápido para backup do ExpressoMail. Como sei que ele pode ser útil para muitos SysAdmins que conheço, aqui vai ele (é coisa boba mesmo):

#!/bin/bash
#
# bkp-expresso.sh
#
# Script para fazer backup do Expresso Mail
#
# Ele faz backup de:
# * Banco de dados
# * Base do LDAP
# * Cyrus
# * Emails
#
# Última modificação: 13/11/2008
#
# Versão 1: Versão Inicial
#
# Autor: Hugo Doria (hugo@archlinux.org)
#
 
DIR_BACKUP="/root/backups/"
USUARIO_BANCO="postgres"
 
if [ ! -d ${DIR_BACKUP} ]; then
echo "Criando o diretório de backup ..."
mkdir -p ${DIR_BACKUP}
fi
 
cd ${DIR_BACKUP} || exit 1
 
# Backup do postgres
echo "Fazendo o backup do banco ..."
pg_dump -o -U ${USUARIO_BANCO} expresso > bkp-banco.dump
 
# Backup do ldap
echo "Fazendo o backup do ldap ..."
slapcat > bkp-ldap.ldif
 
# Backup do cyrus
echo "Fazendo o backup do cyrus ..."
echo "Parando o cyrus ..."
/etc/init.d/cyrus2.2 stop
 
if [ -d /var/spool/cyrus ]; then
echo "Fazendo o dump da estrutura do cyrus ..."
su - cyrus -c "/usr/sbin/ctl_mboxlist -d > bkp-cyrus.dump"
mv /var/spool/cyrus/bkp-cyrus.dump ${DIR_BACKUP}
 
echo "Compactando as mensagens ..."
tar cvf bkp-mail.tar.gz /var/spool/cyrus
fi
 
if [ -d /var/lib/cyrus ]; then
echo "Compactando o /var/lib/cyrus ..."
tar cvf bkp-cyrusvarlib.tar.gz /var/lib/cyrus
fi
 
echo "Iniciando o cyrus ..."
/etc/init.d/cyrus2.2 start
 
echo "Backup finalizado e salvo em ${DIR_BACKUP}"

Se preferir, é só baixar o script.



2 Responses to “Script de backup do ExpressoMail”

  1. Não entendo patavinas de ExpressoMail ou Cyrus, mas vai aí uma sujestão de shell script:

    s/${DIR_BACKUP}/”${DIR_BACKUP}”/

    s/>/>/

    (Pode apagar esse comentário depois.)

  2. E uma correção do meu próprio comentário :D

    s/sujestão/sugestão/

Leave a Reply