Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import os
- import time
- import sys
- import shutil
- import tarfile
- import ConfigParser
- #Configuration file pulled in with all script data.
- ConfigFile = '/root/admin/config.ini'
- parser = ConfigParser.ConfigParser()
- parser.read(ConfigFile)
- # Server Information
- ServerAbr = parser.get('Server', 'ServerAbr')
- # MySql Account Information
- SqlUser = parser.get('MySql', 'SqlUser')
- SqlPasswd = parser.get('MySql', 'SqlPasswd')
- SqlHost = parser.get('MySql', 'SqlHost')
- # System Paths
- DumpFolder = parser.get('Backup', 'DumpFolder')
- BackupFolder = parser.get('Backup', 'BackupFolder')
- # Argment pulled in at execution time defines backup type.
- BackupType = str(sys.argv[1])
- # Time stamp used in filename.
- TimeStamp = time.strftime('%Y-%m-%d')
- # Mysql string to pull all database names.
- Databases="mysql -u %s -p%s -h %s --silent -N -e 'show databases'" % (SqlUser, SqlPasswd, SqlHost)
- # File name to give the tar file.
- BackupTarFilename = '%s-%s-%s.tar' % (ServerAbr, BackupType, TimeStamp)
- #Function Loop to dump all databases to an sql file.
- def create_sql_dump():
- for DB in os.popen(Databases).readlines():
- DB = DB.strip()
- if DB == 'information_schema':
- continue
- if DB == 'performance_schema':
- continue
- if DB == 'mysql':
- continue
- FileName = "%s%s/%s-%s.sql" % (DumpFolder, BackupType, DB, TimeStamp)
- print 'Dumping %s to %s . . . in progress' % (DB, FileName)
- os.popen("mysqldump -u %s -p%s -h %s -e --opt -c %s > %s" % (SqlUser, SqlPasswd, SqlHost, DB, FileName))
- #Function to zip up SQL Dump Folder
- def zip_up_sql():
- os.chdir(DumpFolder)
- print "Backup folder name is : %s" % (BackupFolder)
- print "Backup tar filename is : %s" % (BackupTarFilename)
- Tar = tarfile.open(BackupTarFilename, "w")
- Tar.add(BackupType)
- #Function to move SQL dump folder thats zipped to remote server.
- def move_file():
- shutil.move(BackupTarFilename, BackupFolder)
- create_sql_dump();
- zip_up_sql();
- move_file();
Add Comment
Please, Sign In to add comment