Guest User

Untitled

a guest
Dec 10th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.08 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import os
  4. import time
  5. import sys
  6. import shutil
  7. import tarfile
  8. import ConfigParser
  9.  
  10. #Configuration file pulled in with all script data.
  11. ConfigFile = '/root/admin/config.ini'
  12.  
  13. parser = ConfigParser.ConfigParser()
  14. parser.read(ConfigFile)
  15.  
  16.  
  17. # Server Information
  18. ServerAbr = parser.get('Server', 'ServerAbr')
  19.  
  20. # MySql Account Information
  21. SqlUser = parser.get('MySql', 'SqlUser')
  22. SqlPasswd = parser.get('MySql', 'SqlPasswd')
  23. SqlHost = parser.get('MySql', 'SqlHost')
  24.  
  25. # System Paths
  26. DumpFolder = parser.get('Backup', 'DumpFolder')
  27. BackupFolder = parser.get('Backup', 'BackupFolder')
  28.  
  29. # Argment pulled in at execution time defines backup type.
  30. BackupType = str(sys.argv[1])
  31.  
  32. # Time stamp used in filename.
  33. TimeStamp = time.strftime('%Y-%m-%d')
  34.  
  35. # Mysql string to pull all database names.
  36. Databases="mysql -u %s -p%s -h %s --silent -N -e 'show databases'" % (SqlUser, SqlPasswd, SqlHost)
  37.  
  38. # File name to give the tar file.
  39. BackupTarFilename = '%s-%s-%s.tar' % (ServerAbr, BackupType, TimeStamp)
  40.  
  41. #Function Loop to dump all databases to an sql file.
  42. def create_sql_dump():
  43.    
  44.     for DB in os.popen(Databases).readlines():
  45.  
  46.         DB = DB.strip()
  47.  
  48.         if DB == 'information_schema':
  49.             continue
  50.  
  51.         if DB == 'performance_schema':
  52.             continue
  53.        
  54.         if DB == 'mysql':
  55.             continue
  56.  
  57.         FileName = "%s%s/%s-%s.sql" % (DumpFolder, BackupType, DB, TimeStamp)
  58.  
  59.         print 'Dumping %s to %s . . . in progress' % (DB, FileName)
  60.  
  61.         os.popen("mysqldump -u %s -p%s -h %s -e --opt -c %s > %s" % (SqlUser, SqlPasswd, SqlHost, DB, FileName))
  62.  
  63.  
  64. #Function to zip up SQL Dump Folder
  65. def zip_up_sql():
  66.  
  67.     os.chdir(DumpFolder)
  68.     print "Backup folder name is : %s" % (BackupFolder)
  69.     print "Backup tar filename is : %s" % (BackupTarFilename)
  70.     Tar = tarfile.open(BackupTarFilename, "w")
  71.     Tar.add(BackupType)
  72.  
  73. #Function to move SQL dump folder thats zipped to remote server.
  74. def move_file():
  75.     shutil.move(BackupTarFilename, BackupFolder)
  76.  
  77. create_sql_dump();
  78. zip_up_sql();
  79. move_file();
Add Comment
Please, Sign In to add comment