Gerar backups de banco de dados MySQL
Publicado por Wryel Covo (última atualização em 16/09/2009)
[ Hits: 9.007 ]
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)
Dígito verificador, módulo 11 simples, para uso interno no "postgresql" como
Backup automatizado de toda a base MySQL
Dump MySQL com relatório de logs por e-mail
Nenhum comentário foi encontrado.
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Script para configurar o DOOM Retro no Linux
Script para organizar janelas em cascata no KDE Plasma 6 (Wayland)
Qual é a melhor forma de utilizar ponteiros? (5)
Instalador não reconhece SSD Sata. (3)
Crontab não executa algumas tarefas (7)









