Version 17 (modified by iolaneandrade, 3 meses atrás) (diff)

--

ATENÇÃO: Fora de uso

Implementando shell script para realizar backup das ferramentas SAPL, SAAP e Portal Modelo e da pasta "/etc"

Tendo em vista a necessidade de realizar o backup das ferramentas SAPL, SAAP e Portal Modelo, elaborei um pequeno shell script, com o intuito de automatizar estas tarefas.

Para experimenta-lo em seu servidor, siga os passos:

1º Passo

Criar as pastas onde serão copiados os backups e também onde ficarão os logs. No meu caso o backup será feito na pasta "/home/administrador/backup" e o log ficará na pasta "/var/log/backup". Como estarei agendando o script no Cron para que ele execute o mesmo diariamente, o arquivo de script ficará na pasta “/etc/cron.daily”, que já existe. Mas as outras duas pastar ainda não existem, então, para cria-las, abra o terminal e digite:

$ sudo mkdir /home/administrador/backup
$ sudo mkdir /var/log/backup

2º Passo

Ainda usando o terminal, vamos criar o script dentro da pasta “/etc/cron.daily”. Para isso no terminal digite:

$ sudo gedit /etc/cron.daily/backup

E posteriormente copie o script abaixo e salve o arquivo

#### INICIO DO SCRITP #####
#!/bin/bash
#  Script para backup das ferramentas SAAP, SAPl e  Portal Modelo
#
# Criador:Angelo Marcondes de Oliveira Neto
#         angelomarcondes@gmail.com
# Licença : GNU GPL 
# Dependencias: tar, bzip2, gzip, zip, gunzip, bunzip2, unzip, unrar
##### Parametros#########
#Data
dt=`date | cut -c1-3`
dat=`date | cut -c1-20`
##### Variáveis ##### 
#Caminho da base de dados do SAPL
sapl=/var/lib/zope2.8/instance/sapl/var
#Caminho da base de dados do Portal Modelo
portal=/var/lib/zope2.8/instance/portalcasas/var
#Caminho da base de sados do SAAP
saap=/opt/saap/zope/var
#Caminho da pasta principal onde será gravado o backup
destino1=/home/administrador/backup/$dt
#Caminho de Log
destino2=/var/log/backup

##### ROTINAS DOI BACKUP ##### 
#Verificando a existencia da pasta
if test -d $destino1
then
   echo $destino1 DIRETORIO EXISTE !
else
   echo Criando Diretorio ...
   mkdir $destino1
fi
# Desligando Zope
        echo "$dat - Iniciando o backup em $destino1" >> $destino2/bkp.log
        /etc/init.d/zope2.8 stop
        echo Zope Desligado!
# Compactando arquivos 
        tar -czvf $destino1/Datafs_portal.tar.gz $portal/Data.fs
        tar -czvf $destino1/DocumentoSapl.tar.gz $sapl/DocumentosSapl.fs
        tar -czvf $destino1/Datafs_sapl.tar.gz $sapl/Data.fs
        tar -czvf $destino1/Datafs_saap.tar.gz $saap/Data.fs
        tar -czvf $destino1/etc.tar.gz /etc/*
#AVISO 1 - Caso tenha instalado algum produto ou armazene arquivos no portal, removo o sustenido das linhas abaixo:
#        tar -czvf $destino1/productsPM.tar.gz /var/lib/zope2.8/instance/portalcasas/Products/*
#        tar -czvf $destino1/varPM.tar.gz /var/lib/zope2.8/instance/portalcasas/var/*
#AVISO 2 - Caso seu Mysql possua senha, remova o sustenido da opção abaixo e informe sua senha. Caso contrário vá ao AVISO 3.
#        mysqldump -uroot -pSUASENHA interlegis > $destino1/interlegis.bkp
#AVISO 3 - Caso o Mysql não possua senha, remova o sustenido da linha abaixo.
#        mysqldump -uroot interlegis > $destino1/interlegis.bkp

# Ligando o Zope
        /etc/init.d/zope2.8 start 
        echo "$dat - Finalizando o backup em $destino1" >> $destino2/bkp.log
        echo Zope ligado!
#### FINAL DO SCRITP #####

3º Passo

Agora daremos ao script a permissão para executar as ações programadas. Para isso no terminal digite o comando:

$ sudo chmod +x /etc/cron.daily/backup

4º Passo

Agora que temos a estrutura de pastas, bem como o backup agendado no CRON, serão criadas na pasta “/home/administrador/backup”, pastas com as iniciais dos dias da semana, contendo o backup dos sistemas e banco de dados. Posteriormente faz se necessário, que o operador realize a cópia das pastas em uma mídia removível ou em um computador remoto para que haja mais segurança no processo. Outro fator interessante é verificar, em qual horário o CRON executará o agendamento diário. Para isso aconselho a leitura do seguinte artigo que trata de ajustes no Cron.

http://www.deei.fct.ualg.pt/docs/focalinux_inic/ch-manut.html#s-manut-cron-formato

5° Passo

Se for do seu interesse, executar o backup manualmente. Basta ir até o terminal e digitar o seguinte comando.

$ sudo /etc/cron.daily/backup

obs: Caso queira criar um comando para executalo facilmente adcione esse script em /bin/ e se quiser adcionar à inicialização copie para /etc/init.d e use o comando update-rc.d NOMEDOSCRIPT defaults (by LPS)

 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.