#!/usr/bin/env python
import ConfigParser
import os
import time

# On Debian, /etc/mysql/debian.cnf contains ‘root’ a like login and password.
config = ConfigParser.ConfigParser()
username = config.get(‘client’, ‘user’)
password = config.get(‘client’, ‘password’)
hostname = config.get(‘client’, ‘host’)

filestamp = time.strftime(‘%Y-%m-%d’)

# Get a list of databases with :
database_list_command=”mysql -u %s -p%s -h %s –silent -N -e ‘show databases'” % (username, password, hostname)
for database in os.popen(database_list_command).readlines():
database = database.strip()
if database == ‘information_schema’:
filename = “/backups/mysql/%s-%s.sql” % (database, filestamp)
os.popen(“mysqldump -u %s -p%s -h %s -e –opt -c %s | gzip -c > %s.gz” % (username, password, hostname, database, filename))

you can use this to remove old backup

find /backups/mysql -mtime +5 -print | xargs -r rm