Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from time import gmtime, strftime
- import subprocess
- import sys, os
- import glob
- import time
- print "BACK UP PROCESS STARTING..."
- HOST_NAME = "<YOUR HOST NAME or HOST IP ADDRESS"
- USERNAME = "<DATABASE USER NAME>"
- PASSWORD = "<DATABASE PASSWORD>"
- DATABASE = "<DATABASE NAME>"
- DATABASE_BACKUP_DIR_FOLDER = "C:\\DB_BKP_MYSQL\\MySQL\\"
- # ADD THE PROPER PATH OF THE MYSQLDUMP IN YOUR WINDOWS OS
- DATABASE_BACKUP_FUNCTION_DUMPER = """ "C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqldump" -u %s --password=%s -h %s %s > %s """
- # "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" --user=root --password=xxx!2017 --host=xxx.xxx.xx.xx db-name > xy.txt
- f = open("mda_mysql_bkp_log.log", 'a+')
- log_flag = sys.stdout = sys.stderr
- sys.stdout = sys.stderr = f
- def log(string):
- print "["+time.ctime(time.time())+"]"+ ": " + str(string)
- FILENAME = DATABASE
- x_days_ago = time.time() - ( 60 * 60 * 24 * 3 )
- # os.putenv('MYSQL_PWD', PASSWORD)
- timestamp = str(strftime("%Y-%m-%d-%H-%M"))
- try:
- file_list = glob.glob(BACKUP_DIR + DATABASE + '*' + '.sql')
- for filez in file_list:
- file_info = os.stat(filez)
- #print time.ctime(file_info.st_ctime), time.ctime(x_days_ago)
- if file_info.st_ctime < x_days_ago:
- log("FILE: "+filez+" will be removed")
- os.remove(filez) #unlike
- log("Backup files older than %s are deleted." % time.strftime("%Y-%m-%d %H:%M", time.gmtime(x_days_ago)))
- else:
- log("Keeping: %s" % filez)
- command = dumper % (USERNAME, PASSWORD, HOST_NAME, DATABASE, BACKUP_DIR+FILENAME+'_'+timestamp+'.sql')
- subprocess.call(command, shell=True, stdout=f, stderr=f)
- f.close()
- sys.stdout = sys.stderr = log_flag
- print "BACK UP PROCESS ENDED.\nCHECK mda_mysql_bkp_log.log FOR ANY ERRORS"
- except Exception as e:
- print e
Add Comment
Please, Sign In to add comment