Gerar backups de banco de dados MySQL
Publicado por Wryel Covo (última atualização em 16/09/2009)
[ Hits: 9.019 ]
Homepage: www.wryel.com
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.
#! /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)
Dump MySQL com relatório de logs por e-mail
Python com CouchDB usando couchdbkit
Nenhum comentário foi encontrado.
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Ativando o modo Quake no XFCE4-Terminal
[Tutorial] Configurando Multimaster no Samba 4 AD (DC02) + Explicação de FSMO Roles
Abrir um arquivo URL pelo Clipper (3)
O que você está ouvindo agora? [2] (241)
Como instalar Warsaw no Gentoo? (7)
Senhor Einstein tinha razão mesmo! [RESOLVIDO] (12)
Como insiro e excluo um elemento XML e JSON ao código Javascript (2)









