Guest User

Untitled

a guest
Jun 11th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. from time import gmtime, strftime
  2. import subprocess
  3. import sys, os
  4. import glob
  5. import time
  6.  
  7. print "BACK UP PROCESS STARTING..."
  8.  
  9. HOST_NAME = "<YOUR HOST NAME or HOST IP ADDRESS"
  10. USERNAME = "<DATABASE USER NAME>"
  11. PASSWORD = "<DATABASE PASSWORD>"
  12. DATABASE = "<DATABASE NAME>"
  13. DATABASE_BACKUP_DIR_FOLDER = "C:\\DB_BKP_MYSQL\\MySQL\\"
  14. # ADD THE PROPER PATH OF THE MYSQLDUMP IN YOUR WINDOWS OS
  15. DATABASE_BACKUP_FUNCTION_DUMPER = """ "C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqldump" -u %s --password=%s -h %s %s > %s """
  16. # "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" --user=root --password=xxx!2017 --host=xxx.xxx.xx.xx db-name > xy.txt
  17.  
  18. f = open("mda_mysql_bkp_log.log", 'a+')
  19. log_flag = sys.stdout = sys.stderr
  20. sys.stdout = sys.stderr = f
  21. def log(string):
  22. print "["+time.ctime(time.time())+"]"+ ": " + str(string)
  23.  
  24.  
  25. FILENAME = DATABASE
  26. x_days_ago = time.time() - ( 60 * 60 * 24 * 3 )
  27. # os.putenv('MYSQL_PWD', PASSWORD)
  28. timestamp = str(strftime("%Y-%m-%d-%H-%M"))
  29.  
  30. try:
  31. file_list = glob.glob(BACKUP_DIR + DATABASE + '*' + '.sql')
  32. for filez in file_list:
  33. file_info = os.stat(filez)
  34. #print time.ctime(file_info.st_ctime), time.ctime(x_days_ago)
  35. if file_info.st_ctime < x_days_ago:
  36. log("FILE: "+filez+" will be removed")
  37. os.remove(filez) #unlike
  38. log("Backup files older than %s are deleted." % time.strftime("%Y-%m-%d %H:%M", time.gmtime(x_days_ago)))
  39. else:
  40. log("Keeping: %s" % filez)
  41.  
  42. command = dumper % (USERNAME, PASSWORD, HOST_NAME, DATABASE, BACKUP_DIR+FILENAME+'_'+timestamp+'.sql')
  43. subprocess.call(command, shell=True, stdout=f, stderr=f)
  44.  
  45.  
  46.  
  47. f.close()
  48. sys.stdout = sys.stderr = log_flag
  49.  
  50. print "BACK UP PROCESS ENDED.\nCHECK mda_mysql_bkp_log.log FOR ANY ERRORS"
  51.  
  52. except Exception as e:
  53. print e
Add Comment
Please, Sign In to add comment