29th março 2006, 08:05 am
Em um post passado, disponibilizei um programa feito em Shell Script que permite efetuar o backup do MySQL. Bem, efetuei algumas atualização que havia prometido, e agora já é possivel receber e-mail após a realização do backup e fazer copias também do PostgreSQL.
Características
- Arquivos individuais para cada bancos de dados: Permite gerar um arquivo compactado (gzip) para cada BD do seu programa de BD (MySQL ou PostgreSQL) ou,
- Arquivo único para todos os bancos de dados: Gera um único arquivo contendo o backup de todos os bancos de dados do programa de BD (MySQL ou PostgreSQL);
- Histórico de backup com limite máximo de versões anteriores: Ideal para casos onde é necessário restaurar o estado de um banco de dados de alguns dias atrás e o administrador não dispõe de nenhum software que gerencia o backup (Data Protector, Veritas, Tivoli, etc);
- Arquivos com nomes únicos: Caso você utiliza algum software responsável pelo gerenciamento do backup, basta não optar pelo histórico e toda vez que for executado o script os arquivos serão sobrescritos;
- Exclusão de Databases: Permite definir quais bancos de dados não serão copiados (funciona apenas quando for gerado arquivos individuais para cada banco de dados). Permite uma lista de exclusão por programa de BD (MySQL ou PostgreSQL);
- Backup por programa ou integrado: Permite que seja efetuado backup apenas do MySQL, apenas do PostgreSQL ou de ambos os programas na mesma execução;
Download:
backupBd.sh (Versão 1.1)
TODO
- Permitir a exclusão de databases mesmo quando optar-se pela geração de um único arquivo de backup;
- Recuperação de dados (script para restore de databases);
- Mais alguma coisa ?
Ah, todas as sugestões e críticas são bem vindas!
22nd dezembro 2005, 09:31 am
Segue abaixo um simples script que permite efetuar o backup do Microsoft Internet Information Services (IIS).
@echo off
set metadata="C:\WINDOWS\system32\inetsrv\MetaBack"
set iis= "c:\backup"
iisback /backup /b iisBackup /v 1 HIGHEST_VERSION /overwrite
cd %metadata%
copy iisBackup.* %iis%
cd \
echo fim da copia
O parâmetro /bakup habilita os demais parâmetros. Também existe o /restore que permite restaurar um backup realizado anteriormente. Segue a descrição dos parâmetros utilizados:
- /b iisBackup: Descrição do arquivo de backup;
- /v 1 HIGHEST_VERSION: Especifica o número de versão a ser atribuído ao backup. Pode ser qualquer número inteiro, HIGHEST_VERSION ou NEXT_VERSION. [Padrão: NEXT_VERSION];
- /overwrite: Faz o backup mesmo se existir um backup com nome e versão idênticos no local especificado, substituindo-o, se necessário.
<update 12/05/2006> Publique hoje um novo post explicando como efetuar a restauração do backup do IIS. </update>
6th dezembro 2005, 09:32 am
Escrevi um programa em shell script para facilitar o backup do MySQL e decidi disponibiliza-lo para que outros administradores possam utilizar e coloborar com dicas ou sugestões. Sinceramente desta vez não pesquisei para saber se já existia algo pronto, simplesmente decidi fazer um programa que supra minhas necessidades de backup do MySQL (é, um tipo de backup para cada grupo de servidores
). Acredito que da forma que foi elaborado, este programa poderá auxiliar a várias pessoas com diferentes necessidades.
Algumas características:
- Arquivos individuais para cada bancos de dados: Permite gerar um arquivo compactado (gzip) para cada BD do seu MySQL ou,
- Arquivo único para todos os bancos de dados: Gera um único arquivo contendo o backup de todos os bancos de dados do MySQL;
- Histórico de backup com limite máximo de versões anteriores: Ideal para casos onde é necessário restaurar o estado de um banco de dados de alguns dias atrás e o administrador não dispõe de nenhum software que gerencia o backup (Data Protector, Veritas, Tivoli, etc);
- Arquivos com nomes únicos: Caso você utiliza algum software responsável pelo gerenciamento do backup, basta não optar pelo histórico e toda vez que for executado o script os arquivos serão sobrescritos;
- Exclusão de Databases: Permite definir quais bancos de dados não serão copiados (funciona apenas quando for gerado arquivos individuaus para cada banco de dados;)
Um exemplo de linha do crontab para efetuar o backup ? 1:00 da manhã:
00 1 * * * /root/scripts/backupMysql.sh
DOWNLOAD:
backupMysql.sh (versão 1.0)
TODO:
- Adicionar função para envio de e-mails;
- Permitir a exclusão de databases mesmo quando optar-se pela geração de um único arquivo de backup;
- Adapta-lo de forma a permitir backup do PostgreSQL;
- Mais alguma coisa ?
Caso você tenha alguma dúvida, sugestão ou crítica, por favor compartilhe-a comigo utilizando ou o formulário de contato (na página de contatos no início desta página) ou utilizando os comentários abaixo.
8th outubro 2005, 01:11 pm
Uma forma simples de efetuar um backup completo do BD PostgreSQL é gerando um DUMP de todas as tabelas.
Abaixo é descrito como gerar o dump e restaurá-lo novamente:
Gerando um dump completo do Postgresql:
# su - postgres
$ pg_dumpall | gzip all.gz
Restaurando o dump:
# su - postgres
$ cat all.gz | gunzip | psql template1