Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #coding=utf-8
- import os
- from qcloud_cos import CosConfig
- from qcloud_cos import CosS3Client
- import sys
- import logging
- import time
- logging.basicConfig(level=logging.INFO, stream=sys.stdout)
- DB_HOST = os.getenv('DB_HOST') #'localhost'
- DB_PORT = os.getenv('DB_PORT') #'3306'
- DB_USER = os.getenv('DB_USER') #'mysqldump'
- DB_USER_PASSWORD = os.getenv('DB_PWD') #'abc123!@#'
- DB_NAME = os.getenv('DB_NAME') #'wordpress'
- BACKUP_PATH = '/tmp'
- SECRET_ID = os.getenv('SECRET_ID') #'AKIDQm6iUh2NJ6jL41tVUis9KpY5Rgv49zyC'
- SECRET_KEY = os.getenv('SECRET_KEY') #'xxxlbNyQo4EMJ5jPGA7sUvHWaSAlxxxxx'
- COS_REGION = os.getenv('COS_REGION') #'ap-shanghai'
- COS_BUCKET = os.getenv('COS_BUCKET') #"mysqldump-1253970226"
- COS_DIRECTORY = os.getenv('COS_DIRECTORY') #"/wordpress"
- config = CosConfig(Secret_id=SECRET_ID, Secret_key=SECRET_KEY, Region=COS_REGION, Token="")
- client = CosS3Client(config)
- def backup2cos(file, bucket, key):
- response = client.put_object_from_local_file(
- Bucket=bucket,
- LocalFilePath=file,
- Key=key,
- )
- print(response)
- return response
- def main_handler(event, context):
- timestr = time.strftime('%Y%m%d-%H%M%S', time.localtime(time.time()))
- db = DB_NAME
- filename = db+"-"+timestr+".sql"
- filepath = BACKUP_PATH + os.sep + filename
- print "Start Backup"
- dumpcmd = "./mysqldump -h " + DB_HOST + " -P " + DB_PORT + " -u" + DB_USER + " -p'" + DB_USER_PASSWORD + "' " + db + " > " + filepath
- print dumpcmd
- print os.popen(dumpcmd).read()
- print "Backup script completed"
- print "Your backups has been created in '" + filepath + "' file"
- print os.popen('ls -l /tmp').read()
- print "finish backup"
- print "start send to cos"
- backup2cos(filepath, COS_BUCKET, COS_DIRECTORY + "/" +filename)
- print "finish send to cos"
- if __name__ == "__main__":
- main_handler("","")
Add Comment
Please, Sign In to add comment