从阿里云rds按计划下载db文件的小工具

aliyun-rds-bkp的Python项目详细描述


Aliyun RDS Backup Tool

这是一个按照自定义配置,从阿里云RDS(目前只支持MySQL)下载数据库备份(包括全备和binlog备份)到本地的工具,并支持定时清理过期备份文件。

安装

pipinstallaliyun-rds-bkp

配置

配置文件为json格式。

{"AccessKeyId":"AccessKeyID Provided by Aliyun RDS","AccessKeySecret":"AccessKeySecret Provided by Aliyun RDS","Regions":[{"RegionID":"cn-hangzhou","DBInstances":[{"DBInstanceId":"rm-XXXXXXXXXXXXXXXXXX","LastFullBackup":{"BackupEndTime":"2019-03-16 05:30:00"},"LastBinlogBackup":{"BackupEndTime":"2019-03-16 05:30:00"},"BackupRetentionDays":21,"Schedule":{"FullBackup":{"Plan":"* * * * 2,4,6"},"BinlogBackup":{"Plan":"* * * * *"}}}]}],"BackupHome":"Path/to/Backup/Directory","ErrorLog":"Path/to/Error/Log","MailConfig":{"SMTPServer":"Your SMTP Server","SMTPLogin":"Account to Login SMTP Server","SMTPPassword":"Password to login SMTP Server","SMTPPort":25,"TTLS":false,"From":"email_from","To":["email_1","email_2"],"Cc":["email_cc"],"Subject":"E-Mail Subject"}}

参数说明

  • AccessKeyId: 阿里云提供的AccessKeyId
  • AccessKeySecret: 阿里云提供的AccessKeySecret
  • RegionID: 参考https://help.aliyun.com/document_detail/40654.html
  • DBInstanceId: RDS实例ID
  • BackupEndTime: 上次备份的结束的UTC时间,用于增量,格式为YYYY-MM-DD HH:MI:SS
  • BackupRetentionDays: 备份保留天数
  • Plan: 备份计划(本地时间)。5个参数以空格分隔,分别代表触发备份的
    • 分钟
    • 小时
    • 一个月中的第几天
    • 月份
    • 一个星期中的第几天。1表示星期一,7表示星期日。
  • BackupHome: 放置备份文件的总目录。在总目录下会自动按照RegionID->InstanceID->Year->Month->Day创建目录
  • ErrorLog: 指定错误日志存放文件
  • SMTPServer: 邮件服务器地址,用于发送备份成功或失败的通知邮件
  • SMTPLogin: 邮件服务器登录账号
  • SMTPPassword: 邮件服务器登录密码
  • SMTPPort: 邮件服务器端口
  • TTLS: 邮件服务器是否使用TTLS,true或false
  • From: 邮件发送账户
  • To: 邮件接收账户列表
  • Cc: 邮件抄送账户列表
  • Subject: 通知邮件的主题

使用

  1. 编写调用脚本
importosfromaliyunrdsbkp.mysql_backupimportMySQLBackupif__name__=='__main__':dir_path=os.path.dirname(os.path.realpath(__file__))config_file=os.path.join(dir_path,'config/settings.json')# 配置文件路径mysql_backup=MySQLBackup(config_file)mysql_backup.backup()
  1. 在Linux下的crontab或Windows下的Task Scheduler配置定时执行以上调用脚本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java搜索按钮不适用于我   java制作一个应用程序来打开您自己的文件扩展名   XMemcached中的java异步集   java无法在Android上使用HTML5 canvas touch   java是否可以用PHP为Restlet创建客户端?   java在主题中添加图标。AppCompat。光   java Safari错误,无法打开浏览器   java gson解析json值中commaseparatedvalue字符串中的项   java如何使用Quarkus在卡夫卡的同一主题中设置多个使用者   java组织。json。JSONException:在{main}()的第6个字符处的main后面应该是“:”   windowbuilder如何将Java文件导出到GATE developer   java这与安卓 studio ide问题有关,在更新我们的ide之后   java Android将活动加载到类中<?>对象   java如何在springdatajpa中使用DISTINCT、GROUP BY和ORDER BY?   使用jlink的java可复制构建