Gerar backups de banco de dados MySQL

Publicado por Wryel Covo (última atualização em 16/09/2009)

[ Hits: 8.508 ]

Homepage: www.wryel.com

Download backups.py




Gerador de backups de banco de dados MySQL, é possível escolher:

- por quantos dias quer conservar os backups mais antigos;
- caminho a ser salvo os backups;
- de quais bancos serão efetuados backups.

  



Esconder código-fonte

#! /usr/bin/python
# Gera backups com o mysqldump e mantem historico de backups antigos.
#
# wryel covo
# www.wryel.com
# ryryel [at] gmail . com
# 15/09/2009

import sys
import commands
import os
from datetime import datetime, timedelta

# declaracao

host      = "seu-host"
usuario   = "seu-login"
senha     = "sua-senha"
bancos    = ["banco-de-dados1", "banco-de-dados2"]
historico = 30
pathParaBackups = "/var/www/public_html/backups/"

# inicio
for banco in bancos:
    # prepara nomes & variaveis
    gerarBackup   = banco+"_"+datetime.now().strftime('%d%m%Y')+".sql"
    deletarBackupAntigo = pathParaBackups+banco+"_"+(datetime.now()-timedelta(days=historico)).strftime('%d%m%Y')+".sql"
    cmd   = "mysqldump -h "+host+" -u "+usuario+" --password="+senha+" "+banco+" > "+pathParaBackups+gerarBackup
    # executa comando no s.o
    commands.getoutput(cmd)
    # checa backup gerado
    backupGerado   = open(gerarBackup)
    backupGeradoConteudo = backupGerado.readline()
    # se gerou backup com conteudo, deleta backup mais antigo
    if len(backupGeradoConteudo) > 1:
        try:
            os.remove(deletarBackupAntigo)
        except OSError:
            pass
        except Error:
            pass
    else:
        pass
    # fecha backup
    backupGerado.close()

# fim
sys.exit(0)

Scripts recomendados

Cadastro de pacientes - Py3k

yFone - Yes, outra agenda telefonica escrita em python! ;- )

Dump MySQL com relatório de logs por e-mail

Python com CouchDB usando couchdbkit

Conexão python com Mysql


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts