Backup remoto usando SSH
Neste artigo irei mostrar uma maneira de realizar um backup remoto de arquivos de configuração de servidores, usando shell script e chaves ssh.
Parte 2: Script de backup
Segue o script que realiza o backup que fica nos clientes no diretório /home/user:
Bem simples, o primeiro "if" verifica se já existe um arquivo de backup antigo e o remove, o segundo "if" cria o arquivo .tar, o "for" vai adicionando os arquivos ao .tar e por fim compacta-se o .tar com o gzip e muda-se a permissão para maior segurança...
Para a execução do arquivo edita-se o /etc/crontab:
Nesse caso o backup é feito todo dia à meia noite.
#!/bin/bash
ELEMENTOS="/etc/firewall.sh /etc/squid/* etc..."
if [ -f /home/user/backup.tar.gz ]
then
rm -f /home/user/backup.tar.gz
fi
if [ ! -f /home/user/backup.tar ]
then
touch /home/user/backup.tar
fi
for i in $ELEMENTOS;
do
if [ -f $i ] || [ -d $i ]
then
tar -r --file=/home/user/backup.tar $i
fi
done
gzip -f /home/user/backup.tar
chown user /home/user/backup.tar.gz
chmod 400 /home/user/backup.tar.gz
ELEMENTOS="/etc/firewall.sh /etc/squid/* etc..."
if [ -f /home/user/backup.tar.gz ]
then
rm -f /home/user/backup.tar.gz
fi
if [ ! -f /home/user/backup.tar ]
then
touch /home/user/backup.tar
fi
for i in $ELEMENTOS;
do
if [ -f $i ] || [ -d $i ]
then
tar -r --file=/home/user/backup.tar $i
fi
done
gzip -f /home/user/backup.tar
chown user /home/user/backup.tar.gz
chmod 400 /home/user/backup.tar.gz
Bem simples, o primeiro "if" verifica se já existe um arquivo de backup antigo e o remove, o segundo "if" cria o arquivo .tar, o "for" vai adicionando os arquivos ao .tar e por fim compacta-se o .tar com o gzip e muda-se a permissão para maior segurança...
Para a execução do arquivo edita-se o /etc/crontab:
00 0 * * * root /home/user/backup.sh
Nesse caso o backup é feito todo dia à meia noite.
Já foi "pros" favoritos!!!!
valeu!!!