数据的安全性是重中之重,通过腾讯云的 [coscmd](https://cloud.tencent.com/document/product/436/10976) 自动备份数据库到云存储。
**注意** :这个脚本是运行在物理机上的,请注意相关路径。
### 安装pip
首先更新包索引
```
sudo apt update
```
为Python3及其所有依赖项安装pip
```
sudo apt install python3-pip
```
### 安装coscmd
通过 pip3 安装
```
pip3 install coscmd
```
根据实际情况修改配置文件 ~/.cos.conf
```
[common]
secret_id = AKIDA6wUmImTMzvXZNbGLCgtusZ2E8mG****
secret_key = TghWBCyf5LIyTcXCoBdw1oRpytWk****
bucket = configure-bucket-1250000000
region = ap-chengdu
max_thread = 5
part_size = 1
retry = 5
timeout = 60
schema = https
verify = md5
anonymous = False
```
### 备份脚本
复制备份脚本
```
cp /root/ctc-docker/backup.sh.sample /root/ctc-docker/backup.sh
```
增加执行权限
```
chmod +x /root/ctc-docker/backup.sh
```
根据实际情况修改配置项
```
#mysql项目数据库名称
MYSQL_DATABASE=ctc
#mysql项目数据库用户
MYSQL_USER=ctc
#mysql项目数据库密码
MYSQL_PASSWORD=1qaz2wsx3edc
#备份保留天数
KEEP_DAYS=15
#coscmd命令路径(绝对路径)
COS_CMD=/usr/local/bin/coscmd
#COS配置文件路径(绝对路径)
COS_CONF_PATH=/root/.cos.conf
#本地目录(绝对路径,末尾带"/")
LOCAL_DIR=/root/ctc-docker/mysql/data/backup/
#远程目录(绝对路径,末尾带"/")
REMOTE_DIR=/backup/database/
```
### 计划任务
添加计划任务
```
crontab -e
```
计划任务内容
```
0 3 * * * /usr/bin/bash /root/ctc-docker/backup.sh > /dev/null 2>&1 &
```