1 - Crie a seguinte estrutura de pastas no seu unix-like(Substitua o diretório sistema_mapas pelo o nome do seu sistema que deseja realizar o back-up):
# mkdir -p /backups_BDs_mysql/sistema_mapas/bkps
--->Somente o usuário root ou backup terá acesso ao conjunto de pastas por motivos de segurança, , então der o comando chmod -r:
# chmod -R 700 /backups_BDs_mysql/sistema_mapas/bkps
2 -Após isto, crie o seguinte arquivo shell script em /backups_BDs_mysql/sistema_mapas/:
# touch /backups_BDs_mysql/sistema_mapas/bkp_bd_mapas.sh
# chmod 755 /backups_BDs_mysql/sistema_mapas/bkp_bd_mapas.sh
# vi /backups_BDs_mysql/sistema_mapas/bkp_bd_mapas.sh
---> Insira o conteúdo abaixo no shell script:
#!/bin/bash # Bkp banco mysql # Por Leonardo Couto Conrado # Em 19.10.2009 now=$(date +%Y%m%d) clockNow=$(date +%d.%m.%Y-%H:%M) nomeFile=$now.mapas.sql pathBkp="/backups_BDs_mysql/sistema_mapas" `mysqldump -u usuarioComAcessoAoBanco -psenhaDoBanco -h nomeOuIPDoServidorDeBanco --databases nomeDoBanco > $pathBkpMapas/bkps/$nomeFile` `tar --absolute-names -czf $pathBkp/bkps/$nomeFile.tar.gz $pathBkpMapas/bkps/$nomeFile` `rm -f $pathBkp/bkps/$nomeFile` if [ $? -ne 0 ]; then echo "$clockNow - $0, possiveis erros na linha acima ^" >> /var/log/backups_BDs_mysql.log else echo "$clockNow - $0, possiveis erros na linha acima ^" >> /var/log/backups_BDs_mysql.log fi
3 - Crie os arquivos de log em /var/log/:
# touch /var/log/backups_BDs_mysql.log
4 - Teste executando o shell script:
# /backups_BDs_mysql/sistema_mapas/bkp_bd_mapas.sh
---> Se estiver tudo ok será gerado com arquivo tallbar comprimido(tar.gz) em /backups_BDs_mysql/sistema_mapas/bkps/ com o backup do banco, caso contrário verifique o problema provavelmente usuário, senha, nome do banco inserido incorreto no script...
5 - Para ser executado todos os dias coloque a tarefa agenda no cron, aqui no trabalho rodo o backup todos dias às 23:58 da noite:
# crontab -e -u root
---> Insira a linha abaixo para programar o backup:
58 23 * * * sh /backups_BDs_mysql/sistema_mapas/bkp_bd_mapas.sh 2>> /var/log/backups_BDs_mysql.log
---> Salve e saia do crontab
Pronto! Você pode utilizar este esquema de backup para outros sistemas no seu ambiente, este foi o exemplo para um único sistema aqui onde trabalho, agora só depende da sua criatividade!
Nenhum comentário:
Postar um comentário