Guest User

Untitled

a guest
Aug 23rd, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. #coding=utf-8
  2.  
  3. import os
  4. from qcloud_cos import CosConfig
  5. from qcloud_cos import CosS3Client
  6. import sys
  7. import logging
  8. import time
  9.  
  10.  
  11. logging.basicConfig(level=logging.INFO, stream=sys.stdout)
  12.  
  13.  
  14. DB_HOST = os.getenv('DB_HOST') #'localhost'
  15. DB_PORT = os.getenv('DB_PORT') #'3306'
  16. DB_USER = os.getenv('DB_USER') #'mysqldump'
  17. DB_USER_PASSWORD = os.getenv('DB_PWD') #'abc123!@#'
  18. DB_NAME = os.getenv('DB_NAME') #'wordpress'
  19.  
  20. BACKUP_PATH = '/tmp'
  21.  
  22. SECRET_ID = os.getenv('SECRET_ID') #'AKIDQm6iUh2NJ6jL41tVUis9KpY5Rgv49zyC'
  23. SECRET_KEY = os.getenv('SECRET_KEY') #'xxxlbNyQo4EMJ5jPGA7sUvHWaSAlxxxxx'
  24. COS_REGION = os.getenv('COS_REGION') #'ap-shanghai'
  25. COS_BUCKET = os.getenv('COS_BUCKET') #"mysqldump-1253970226"
  26. COS_DIRECTORY = os.getenv('COS_DIRECTORY') #"/wordpress"
  27.  
  28.  
  29. config = CosConfig(Secret_id=SECRET_ID, Secret_key=SECRET_KEY, Region=COS_REGION, Token="")
  30. client = CosS3Client(config)
  31.  
  32.  
  33. def backup2cos(file, bucket, key):
  34. response = client.put_object_from_local_file(
  35. Bucket=bucket,
  36. LocalFilePath=file,
  37. Key=key,
  38. )
  39. print(response)
  40. return response
  41.  
  42. def main_handler(event, context):
  43. timestr = time.strftime('%Y%m%d-%H%M%S', time.localtime(time.time()))
  44. db = DB_NAME
  45. filename = db+"-"+timestr+".sql"
  46. filepath = BACKUP_PATH + os.sep + filename
  47. print "Start Backup"
  48. dumpcmd = "./mysqldump -h " + DB_HOST + " -P " + DB_PORT + " -u" + DB_USER + " -p'" + DB_USER_PASSWORD + "' " + db + " > " + filepath
  49. print dumpcmd
  50. print os.popen(dumpcmd).read()
  51. print "Backup script completed"
  52. print "Your backups has been created in '" + filepath + "' file"
  53. print os.popen('ls -l /tmp').read()
  54. print "finish backup"
  55. print "start send to cos"
  56. backup2cos(filepath, COS_BUCKET, COS_DIRECTORY + "/" +filename)
  57. print "finish send to cos"
  58.  
  59. if __name__ == "__main__":
  60. main_handler("","")
Add Comment
Please, Sign In to add comment