Backup com mysqldump

Um backup atualizado não é questão de "se" - antes é uma necessidade primária em qualquer ambiente de produção (missão crítica nem se fala). Montei este pequeno script que uso regularmente e compartilho para os membros da comunidade pois se há algo certo neste mundo é que scripts shell sempre podem ser melhorados. =) Explicação da rotina: - backupDB.sh :: backup de tabelas específicas (críticas). Uso uma tabela que armazena um ID para cada tabela crítica - além de armazenar a data/hora do último backup (campos "intervalo" e "data"). O campo intervalo armazena a data no formato "segundos desde 1970-01-01 00:00:00 UTC" e o campo data armazena a mesma informação no formato padrão (YYYY-MM-DD HH:MM:SS). O script lê um array estático que contém o ID e nome de cada tabela crítica - há também um array de periodicidade pois há tabelas que precisam ser becapeadas a cada 1 hora e outras a cada 2 horas. Ele verifica se a tabela é elegível para backup naquele momento e - em caso positivo - realiza o backup e compacta o resultado com o gunzip. Ele cria um arquivo de PID e checa se este arquivo já existe antes de iniciar a execução - evitando que a rotina seja executada mais de uma vez simultaneamente. O script é bem autoexplicativo. =) O script é executado obviamente de um outro servidor. Foi configurado no crontab (roda 1 vez por minuto]). P.S.: obviamente alterei os nomes das tabelas, DB e caminhos de diretórios.

Por: Osimar Medeiros






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts