Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blogosfera d...
Tela cheia Sugerir um artigo

Leonardo Couto Conrado: Shell script - backup de seus bancos de dados Mysql em servidores remotos

22 de Maio de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 234 vezes
1 - Crie a seguinte estrutura de pastas no seu unix-like:

# mkdir -p \backups_BDs_mysql\sistema_mapas\bkps

--->Somente o usuário root terá acesso ao conjunto de pastas, isso se você tiver logado com o root no momento em que criou as pasta acima ;), 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
pathBkpMapas="/backups_BDs_mysql/sistema_mapas"

`mysqldump -u usuarioComAcessoAoBanco -psenhaDoBanco -h nomeOuIPDoServidorDeBanco --databases nomeDoBanco> $pathBkpMapas/bkps/$nomeFile`
`tar --absolute-names -czf $pathBkpMapas/bkps/$nomeFile.tar.gz $pathBkpMapas/bkps/$nomeFile`
`rm -f $pathBkpMapas/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 um exemplo para um sistema de mapas aqui de onde trabalho, agora só depende da criatividade!



Fonte: http://conteudoopensource.blogspot.com/2010/05/shell-script-para-backup-de-seus-bancos.html

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.