De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Backups via e-mail
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 08 de Abril de 1997
Muitas vezes não é necessário que se faça um backup completo
de todos os sistemas de arquivos de uma máquina. Todavia, ainda
assim é importante que se salvem alguns arquivos importantes.
Uma solução para este problema é realizar o backup destes arquivos,
em sua maioria arquivos de configuração, através de e-mail.
Desta forma, os arquivos são gravados diariamente e enviados via email para
uma ou mais máquinas ou pessoas, onde são gravados em um arquivo em disco.
A automatização via cron, pode ser criada através da edição à
crontab de uma linha como:
0 0 * * * /usr/local/etc/saveconfig 1>/dev/null 2>/dev/nul
Desta forma, todos os dias, as 00:00 horas, o script /usr/local/etc/saveconfig
é executado.
Para melhor entender o procedimento, encontra-se abaixo o script saveconfig
,
contendo explicações detalhadas sobre os passos seguidos:
#!/bin/sh
#
# Script para realização de backup de arquivos de configuração
# via correio eletronico
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
export PATH
# A seguir é criado um arquivo no formato tar, contendo todos os arquivos
# de configuração que se deseja salvar. A lista dos arquivos deve ser
# criada em conjunto com todos os usuários e administradores da máquina
# Observar que o arquivo é criado com diretórios relativos, ou seja,
# iniciados em "." para facilitar a expansão do arquivo tar em qualquer
# localização.
# O arquivo tar criado é compactado utilizando-se o programa gzip
# e redirecionado para o arquivo /tmp/machine.config.tar.gz
cd /
tar cvzf - \
./var/spool/cron \
./var/named \
./etc/aliases \
./etc/dumpdates \
./etc/gated.conf \
./etc/group \
./etc/hostname.le0 \
./etc/hostname.le1 \
./etc/hosts \
./etc/hosts.equiv \
./etc/hosts.equiv \
./etc/inet \
./etc/vfstab \
./etc/vold.conf > /tmp/machine.config.tar.gz
# Neste ponto, o formato do arquivo é
# transformado pelo comando uuencode
# para permitir a sua transferência
# via mail
uuencode /tmp/machine.config.tar.gz machine.config.tar.gz \
> /tmp/machine.config.tar.gz.uu
# Em seguida, o arquivo é enviado
# para a(s) máquinas de destino onde
# deverá ser criado um alias que se
# encarregará de realizar a gravação
# no local apropriado. Incluir na(s)
# máquina(s) de destino, no arquivo
# /etc/aliases, uma linha do tipo:
# backup:
#
# "|/usr/local/bin/deliver -b /usr/local/doc/backups/machine
#
# Recomenda-se também a encriptação da
# mensagem para aumentar a segurança
# deste esquema visto que informações
# confidenciais estarão sendo
# enviadas.
#
# O programa deliver é de domínio público
# e serve para fazer a sincronização
# de gravação no arquivo de destino, no
# caso, /usr/local/doc/backups/machine.
# De tempos em tempos este arquivo
# deve ser examinado e removidas as
# mensagens mais antigas (manual ou
# automaticamente).
#
# No nosso exemplo, o arquivo de backup é
# enviado para o usuário queiroz e para o
# alias backup na máquina fserver.com.br.
mail -s "Configuracao ""date +%d/%m"" (machine)" queiroz backup@fserver.com.br <
/tmp/machine.config.tar.gz.uu
# Finalmente, os arquivos temporários gerados devem ser removidos
rm /tmp/machine.config.*