Gerar backups de banco de dados MySQL

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

[ Hits: 8.635 ]

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

Banco de dados int Python

Acompanhar status de uma replicação MySQL

inserção

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

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


  

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