Nessa postagem tentarei forma simples mostrar a criação de um servidor de backup com rotina automata para armazenamento de CNF gerados em estações remotas. A rotina pode ser expandida para outras finalidade de backup. Para iniciarmos é necessário a implementação feita no artigo anterior, acesso remoto sem senha, evitando prompt de solicitação de senha.
Pensando no armazenamento desses backups foi adotada a seguinte metodologia:
Criado um diretório /backup
no raiz do disco e dentro dele outros subdiretórios scripts
e cnf
. Foi atribuída as propriedade e permissões com chmod
e chown
nos diretórios para o usuário sage. Se você estiver usando uma outra versão do linux, diferente da distribuída com o sage, deverá criar um usuário e grupo sage nesse servidor ou modificar o script rotina_backup.sh
que será mostrado logo abaixo. No objeto dessa postagem estou usando a versão 27 do SAGE (CentOS 6.9).
/backup
(Diretório de Backups)
|______ /scripts
(Diretório de scripts e arquivos auxiliares)
|______ /cnf
(Diretório de armazenamento dos arquivos CNF contendo subdiretórios referente a cada subestação)
chown -R sage.sage /backup
chown -R sage.sage /backup/scripts
chown -R sage.sage /backup/cnf
chmod 755 /backup
chmod 755 /backup/scripts
chmod 755 /backup/cnf
O script de backup irá ler um arquivo de hosts_bkp
que contém IP, nome da estação, sigla da subestação separados por tabulação. Esse arquivo deve ser criado conforme sua instalação e salvo no mesmo diretório de scripts. Abaixo deixei um exemplo.
192.168.101.10 ad1 sead
192.168.101.12 ad2 sead
192.168.101.13 cc1 secc
192.168.101.14 cc2 secc
192.168.101.15 cd1 secd
192.168.101.16 cd2 secd
Baixe o script rotina_backup.sh
e descompacte-o, salve-o no diretório de scripts e atribua permissão de execução ao mesmo (chmod +x rotina_backup.sh
).
Faça uma cópia do script disponibilizado pelo CEPEL para empacotamento dos CNF. Esse script fica localizado em $SAGE/bin/sys
chamado criacnf_com_data
.
Copie o script para dentro da estrutura de backup no diretórios scripts, renomeie para backup_sagecnf.sh
e edite a variável RESP
:
echo -n "Inicia o backup para a configuração da base $BASE? ([S]im/[N]ao): "
set RESP = $<
echo ""
Atribua “s” ao valor de RESP dessa maneira.
echo -n "Inicia o backup para a configuração da base $BASE? ([S]im/[N]ao): "
set RESP = "s"
echo ""
Agora chegou a hora de testar a rotina de backup, chame o script /backup/scripts/rotina_backup.sh
. Para efeito de testes, reduza o seu arquivo hosts_bkp
. Você poderá usar seus scripts de geração de CNFs personalizados, somente deve se atentar que o script rotina_backup.sh
realiza alguns filtros quando monta a variável ARQ
.
Se necessário faça as adaptações certas. Funcionando o teste, estenda para os outros hosts.
Fica a dica para realizar agendamentos automáticos no servidor por intermédio do CRON. Em breve colocarei um artigo mostrando como agendar rotinas pelo CRON.
É isso, espero ter contribuído com mais uma dica para gerar rotinas de manutenção Linux/SAGE