Sistema de gestão ELIGO
Script de backup dos sistemas (servidores Linux)
ELIGO.FAQ-3217
O padrão de scripts utilizados para gerar os backups dos sistemas é mantido em
http://prd.telescope.com.br:8080/ADS2/file/scripts.zip
Baixe estes scripts na pasta /usr/local/bin
Criar um script para executar o arquivo backup.
- Digite o parâmetro abaixo no terminal do linux. Esse parâmetro cria um arquivo para redigir um texto no diretório usr/bin.
vi /usr/bin/backup.sh
- Dentro do editor de texto (vi) copie e cole o script baixo:
#!/bin/bash
CLIENTE="nome-do-cliente"
DATA=`date +%Y-%m-%d-%H%M`
ARQUIVO="/home/backup/eligo-$DATA.backup"
ASSUNTO="Backup Eligo - $CLIENTE"
/usr/bin/pg_dump --host 127.0.0.1 --username postgres --format custom --blobs --exclude-table logs_dados --exclude-table logs --exclude-table dml_logs --file "$ARQUIVO" eligo
# Manter apenas os ultimos 10 arquivos:
ls -1 /home/backup/eligo-*.backup | sort -r | tail -n +11 | xargs rm > /dev/null 2>&1
sendEmail -s "smtp.prd.inf.br:587" -xu "backup@prd.inf.br" -xp "FdJdQb16" -f "backup@prd.inf.br" -t "backup@prd.inf.br" -u "$ASSUNTO" -m "$ASSUNTO - $DATA" -a "$ARQUIVO"
- No caso de bases replicadas onde se se deseja fazer o backup mas não enviar por e-mail, alterar a ultima linha para apenas enviar um e-mail indicando que o arquivo foi gerado mas sem enviar o backup:
sendEmail -s "smtp.prd.inf.br:587" -xu "backup@prd.inf.br" -xp "FdJdQb16" -f "backup@prd.inf.br" -t "backup@prd.inf.br" -u "$ASSUNTO" -m "$ASSUNTO - $DATA - $ARQUIVO"
#!/bin/bash
CLIENTE="Eligo"
DATA=`date +%Y-%m-%d-%H%M`
ARQUIVO="/home/backup/eligo-$DATA.backup"
ASSUNTO="Backup DropBox - $CLIENTE"
/usr/bin/pg_dump --host 127.0.0.1 --username postgres --format custom --blobs --exclude-table logs_dados --exclude-table logs --exclude-table dml_logs --file "$ARQUIVO" eligo
# Manter apenas os ultimos 10 arquivos:
ls -1 /home/backup/eligo-*.backup | sort -r | tail -n +11 | xargs rm > /dev/null 2>&1
sendEmail -s "smtp.prd.inf.br:587" -xu "backup@prd.inf.br" -xp "FdJdQb16" -f "backup@prd.inf.br" -t "backup@prd.inf.br" -u "$ASSUNTO" -m "Login: eligo@gmail.com |Senha: Eligo | Link: https://www.dropbox.com/"
cp /home/backup/eligo-*.backup /root/Dropbox
tar -czvf /root/Dropbox/files.tar.gz /tomcat7/apps/ELIGO/files
ls -1 /root/Dropbox/eligo-*.backup | sort -r | tail -n +11 | xargs rm > /dev/null 2>&1
service tomcat7 restart
dropbox start -i
- Crie um script para parar a Dropbox e reiniciar o tomcat. Digite "vi restart_eligo.sh" e acrescente as linhas abaixo:
dropbox stop
service tomcat7 restart
- Após salvar o script, acrescente a permissão:
chmod 777 restart_eligo
- Inclua na crontab, digite "vi /etc/crontab" para executar ás 5 horas da manhã:
00 5 * * * root /usr/bin/restart_eligo.sh
- Caso deseje incluir os arquivos (aconselhado), incluir o código abaixo:
cd /tomcat7/apps/ELIGO
ARQUIVO="/home/backup/eligo-$DATA.zip"
zip $ARQUIVO -r files
- Incluir direito de execução
chmod 777 /usr/bin/backup.sh
- Criar pasta para armazenar os backups
mkdir /home/backup
- Incluir o backup na crontab
vi /etc/crontab
- Incluir a chamada e definir os horários
...
30 12 * * * root /usr/bin/backup.sh
00 01 * * * root /usr/bin/backup.sh
...
Neste exemplo, o shell backup será executado à 01:00 da manhã e às 12:30.
Caso deseje manter os backups em uma conta de Dropbox, veja Como instalar o Dropbox em servidores Linux?.