Gerar backups de banco de dados MySQL
Publicado por Wryel Covo (última atualização em 16/09/2009)
[ Hits: 8.595 ]
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
yFone - Yes, outra agenda telefonica escrita em python! ;- )
Dígito verificador, módulo 11 simples, para uso interno no "postgresql" como
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Wifi não funciona no Aspire ES 15 com o Debian (11)
Teclado não funciona no Debian (1)
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta