%global _empty_manifest_terminate_build 0 Name: python-aliyun-rds-bkp Version: 0.1.30 Release: 1 Summary: A small tool to download db files from Aliyun RDS per schedule License: GNU General Public License v3 (GPLv3) URL: https://github.com/life-game-player/aliyun-rds-bkp Source0: https://mirrors.aliyun.com/pypi/web/packages/33/91/52b233eaf70278639a8500c3df4059018febe0e5eaf5cd8e1e2cfecd6292/aliyun-rds-bkp-0.1.30.tar.gz BuildArch: noarch %description # Aliyun RDS Backup Tool 这是一个按照自定义配置,从阿里云RDS(***目前只支持MySQL***)下载数据库备份(包括全备和binlog备份)到本地的工具,并支持定时清理过期备份文件。 ## 安装 ```python pip install aliyun-rds-bkp ``` ## 配置 配置文件为json格式。 ```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", "FailedDownloads": "Path/to/Failed Downloads/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. 编写调用脚本 ```python import os from aliyunrdsbkp.mysql_backup import MySQLBackup """ 日常备份 """ if __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() ``` ```python import os from aliyunrdsbkp.retry_downloader import RetryDownloader """ 下载重试 """ if __name__ == '__main__': dir_path = os.path.dirname(os.path.realpath(__file__)) config_file = os.path.join( dir_path, 'config/settings.json' ) # 配置文件路径 retry_downloader = RetryDownloader(config_file) retry_downloader.run() ``` 2. 在Linux下的crontab或Windows下的Task Scheduler配置定时执行以上调用脚本 %package -n python3-aliyun-rds-bkp Summary: A small tool to download db files from Aliyun RDS per schedule Provides: python-aliyun-rds-bkp BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-aliyun-rds-bkp # Aliyun RDS Backup Tool 这是一个按照自定义配置,从阿里云RDS(***目前只支持MySQL***)下载数据库备份(包括全备和binlog备份)到本地的工具,并支持定时清理过期备份文件。 ## 安装 ```python pip install aliyun-rds-bkp ``` ## 配置 配置文件为json格式。 ```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", "FailedDownloads": "Path/to/Failed Downloads/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. 编写调用脚本 ```python import os from aliyunrdsbkp.mysql_backup import MySQLBackup """ 日常备份 """ if __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() ``` ```python import os from aliyunrdsbkp.retry_downloader import RetryDownloader """ 下载重试 """ if __name__ == '__main__': dir_path = os.path.dirname(os.path.realpath(__file__)) config_file = os.path.join( dir_path, 'config/settings.json' ) # 配置文件路径 retry_downloader = RetryDownloader(config_file) retry_downloader.run() ``` 2. 在Linux下的crontab或Windows下的Task Scheduler配置定时执行以上调用脚本 %package help Summary: Development documents and examples for aliyun-rds-bkp Provides: python3-aliyun-rds-bkp-doc %description help # Aliyun RDS Backup Tool 这是一个按照自定义配置,从阿里云RDS(***目前只支持MySQL***)下载数据库备份(包括全备和binlog备份)到本地的工具,并支持定时清理过期备份文件。 ## 安装 ```python pip install aliyun-rds-bkp ``` ## 配置 配置文件为json格式。 ```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", "FailedDownloads": "Path/to/Failed Downloads/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. 编写调用脚本 ```python import os from aliyunrdsbkp.mysql_backup import MySQLBackup """ 日常备份 """ if __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() ``` ```python import os from aliyunrdsbkp.retry_downloader import RetryDownloader """ 下载重试 """ if __name__ == '__main__': dir_path = os.path.dirname(os.path.realpath(__file__)) config_file = os.path.join( dir_path, 'config/settings.json' ) # 配置文件路径 retry_downloader = RetryDownloader(config_file) retry_downloader.run() ``` 2. 在Linux下的crontab或Windows下的Task Scheduler配置定时执行以上调用脚本 %prep %autosetup -n aliyun-rds-bkp-0.1.30 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-aliyun-rds-bkp -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri Jun 09 2023 Python_Bot - 0.1.30-1 - Package Spec generated