1. 程式人生 > 其它 >RDS備份到OSS增量+全量

RDS備份到OSS增量+全量

一.前言

阿里雲的RDS備份是佔用使用量的,你購買200G那備份使用量是100G左右,導致備份一般也就存半個月,2個全備份。

那半個月後之前的也就刪除了,如果要持續保留更久將花費不少的金錢。所以這裡用指令碼獲取下載到本地然後推送到OSS裡,同比來說OSS便宜很多的,也會保險一些。當然本地也可以留一份,需要自行修改下指令碼。

指令碼功能:
1.根據配置,對RDS可以選擇全量備份或者增量備份

程式碼地址:
https://gitee.com/rxys/script-tools/blob/master/python/rds_backups_oss.py

指令碼要求:
1.需要使用Python3,預設用/usr/bin/python3

注意事項:
1.RDS會先下載到本地,若本地磁碟過於小會造成下載失敗
2.RDS下載的備份是已經定時備份完的資料,不會對當前RDS造成影響

二.使用前準備

1.下載指令碼
wget https://gitee.com/rxys/script-tools/raw/master/python/rds_backups_oss.py
chmod +x rds_backups_oss.py

2.修改指令碼配置,將指令碼如下部分進行對應修改,備份目錄不存在會自動建立

3.安裝依賴包
yum -y install python-devel
pip3 install oss2 aliyun-python-sdk-core aliyun-python-sdk-rds

4.進行全量備份測試
./rds_backups_oss.py allbak

5.進行增量備份測試
./rds_backups_oss.py binlog

6.新增定時任務
crontab -e

1 23 * * 6 /usr/bin/python3 rds_backups_oss.py allbak
1 * * * *  /usr/bin/python3 rds_backups_oss.py binlog

三.一些自定義配置

1.如果備份例項過多下載很久,可能過幾個小時就會導致指令碼程序停掉,可以將指令碼多複製幾份,然後每個指令碼完成一部分的rds備份任務

2.如果全備份是8天或者更久才備份一次,需要修改指令碼中的days=7,修改成days=x,改成間隔天數

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。