Backup incremental com montagem automática e e-mail
Publicado por Denilson Martins (última atualização em 06/08/2015)
[ Hits: 6.829 ]
Homepage: www.vivaolinux.com.br
Script para backup incremental de dados com montagem automática do dispositivo de armazenamento, com e-mail de status.
Para o envio do e-mail de status será necessário que tenha o programa Sendmail instalado.
Para a montagem automática deve-se obter o UUID do dispositivo de armazenamento e cadastrá-lo no fstab:
Execute o comando blkid, no retorno é possível obter o UUID do dispositivo e seu formato de partição, abaixo um exemplo com 3 HDs, onde o primeiro é para o sistema operacional e os demais para backup:
# blkid
/dev/sda1: UUID="d38642d1-34f9-43ae-b826-b8bae3f92bc9" TYPE="ext4"
/dev/sdb1: UUID="c8b0366c-d3fb-42f2-849f-d2b979e4ffbf" TYPE="ext4"
/dev/sdc1: UUID="3d090cf7-ba03-437a-b60e-7dd543c95d90" TYPE="ntfs"
Com o UUID em mãos, acrescente no fstab, no exemplo vou acrescentar o sdb1 e o sdc1 porém com o UUID sem estar entre aspas.
Caso algum dos HDs utilize USB a montagem automática por parte do sistema operacional não estará disponível, sendo que a montagem deverá ser feita manualmente. Para o script esta montagem já será realizada no própio.
# vim /etc/fstab
# HD1 - COMPARTILHAMENTOS
UUID=c8b0366c-d3fb-42f2-849f-d2b979e4ffbf /compartilhamentos ext4 0 2
# HD2 - BACKUP
UUID=3d090cf7-ba03-437a-b60e-7dd543c95d90 /backup ntfs 0 2
Depois de ter acrescido os HDs no fstab, reinicie o serviço udev:
# /etc/init.d/udev restart
Por fim, parametrize o script da maneira que for adequada e o execute.
#!/bin/bash
####################### FUNCOES #######################
backup(){
if [ -d $destino ]
then
umount $destino # Certifica que o destino esta desmontado
mount $destino # Realiza a montagem com base no fstab
executaBackup
else
mkdir $destino
echo "Diretorio $destino criado!"
umount $destino # Certifica que o destino esta desmontado
mount $destino # Realiza a montagem com base no fstab
executaBackup
fi
}
executaBackup(){
# Pega tamanho do dispositivo montado na particao destino
tam=$(df -h | grep $destino | awk '{print $2}' | sed "s/G//")
echo "Testando tamanho do disco montado em:"
echo "$destino --> Tamanho = $tamanho"
# Compara tamanho HD montado com o tamanho do HD Destino
if (( $tam == "$tamdest" ))
then
echo "Disco ok! Realizando backup!"
rsync -Cravzpt $origem $destino
# email enviado por parametros (email "parametro1" "parametro2")
email "Backup $origem Realizado!" "O backup dos dados foi realizado!"
else
echo "Disco errado! Backup nao sera realizado!"
email "Erro no Backup $origem!" "Verifique o Destino para Backup!"
fi
}
email(){
assunto=$1
mensagem=$2
sendEmail -f $emailOrigem -t $emailDest -u "$assunto" -m "$mensagem" -s $servidor:$porta -xu $emailOrigem -xp $senhaEmail
}
####################### VARIAVEIS #######################
# Variaveis para o backup
origem=/compartilhamentos # Origem do backup
destino=/backup-500 # Destino do backup
tamdest=466 # Tamanho Destino (Disco, Pendrive)
# Variaveis para email
servidor=smtp.mail.net # Servidor email
porta=587 # Porta servidor email
emailOrigem=mail@mail.net # Email Origem
senhaEmail=senha # Senha email origem
emailDest=outromail@outromail.net # Email Destino
backup
Lisa - sistema de backup com rsync
Realiza backup de VMs ligadas no XenServer 6.5
Restauração de backup Firebird a partir de um arquivo .7Z contendo um GBK
Backup e envio do arquivo + md5sum para o FTP da escolha do usuário
Backup de diretórios do sistema Linux
Nenhum comentário foi encontrado.
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









