Desenvolvi há mais de 5 anos um script em parceria com o colega Gustavo Sales para realizar backups de diversos bancos de dados em MySQL por mês, dia e hora.

Segue o código:

[python]
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#Realiza backups do SGDB Mysql.
#V 001 – 16/06/2013
#Created by Gustavo Sales.
#Adapted by Rodrigo Calado.

import os
import time

#variaveis globais

back_dir = ‘/root/bkpdb/’
log_dir = ‘/var/log/backups_sgdb.log’

#Funcao que realiza um dump das bases de dados
def dumpsgdb(user,host,passwd,*databases):

#databases = [‘mysql’] #lista dos bancos que estarão no backup
mes = back_dir + time.strftime(‘%b’)
if not os.path.exists(mes):
os.mkdir(mes)
for db in databases:
name_bkp = mes + ‘/’ + host + ‘_’ + db + ‘-‘+ time.strftime(‘%d-%m-%Y_%H:%M:%S’) + ‘.sql.gz’
dump_db = "/usr/bin/mysqldump –quick -u %s -h %s -p%s %s | gzip > %s" % (user,host,passwd,db,name_bkp)
if os.system(dump_db) != 0:
msg_log = "echo Erro no backup %s >> %s" % (name_bkp,log_dir)
os.system(msg_log)
break
else:
msg_log = "echo Backup %s realizando com sucesso >> %s" % (name_bkp,log_dir)
os.system(msg_log)

dumpsgdb(‘usuario’,’nome-do-host-do-servidor.com.br’,’senha-do-usuario’,’db1′,’db2′,’db3′,’db4′)
[/python]

Funciona impecavelmente.

Author

Rodrigo Calado é sócio-fundador e CTO do Gran Cursos Online. Graduado em Gestão da Tecnologia da Informação, pós-graduando em Governança de TI pela Universidade Católica de Brasília e cursou MBA em Gestão e Empreendedorismo pela FGV. Possui convicta paixão pela área de tecnologia, educação digital, concursos públicos e empreendedorismo.

2 Comments

Write A Comment