Backup incremental com montagem automática e e-mail
Publicado por Denilson Martins (última atualização em 06/08/2015)
[ Hits: 6.669 ]
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
PKG Sync v4.0 - utilitário para backup de pacotes DEB baixados
Shell Script para gravar iso de xbox 360 para LT 3.0 burnisolt3
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)