正文索引 [隐藏]

最近网站数据增多,于是决定使用b2云存储来存储归档备份。
接入CloudFlare CDN后下载流量免费,当然选择白嫖。

CloudFlare接入

先在CloudFlare里把你的域名通过CNAME指向f000.backblazeb2.com并开启CDN

配置rclone

输入rclone config
选择b2云存储,输入id和key
比较需要注意hard_delete这个选项,默认为false

  • 值为true时表示执行rclone delete时文件永久删除
  • 值为false时表示执行rclone delete时文件变为隐藏状态

PS:rclone查看隐藏文件可以用 –b2-versions 选项

后面会问你Edit advanced config,选yes
其它全部默认,到了download_url这项,把你的域名填上去,需要带https://

当然你也可以选no
然后手动编辑配置文件 ~/.config/rclone/rclone.conf
添加 download_url = https://域名

归档备份

每周日执行一次归档备份,并运行rclone delete把两周前的备份设为隐藏状态(旧版本)

如何管理删除旧备份?两种方法

  • 在服务器定时执行rclone cleanup命令,删除旧版本
  • 设置生命周期为将旧版本保留多少天后删除

完整归档备份脚本

#!/bin/bash
#关闭服务
service nginx stop && service php-fpm stop
service seahub stop && service seafile stop
DATE=$(date +%Y-%m-%d)
DELDATE=$(date -d "-2 week sunday" +%Y-%m-%d)
#以当天日期创建文件夹
mkdir /backup_path/$DATE
#导出wordpress和seafile数据库
/usr/local/mysql/bin/mysqldump -h 127.0.0.1 -P 3306 --databases wordpress > /backup_path/$DATE/$DATE-wordpress.sql
/usr/local/mysql/bin/mysqldump -h 127.0.0.1 -P 3306 --databases seafile > /backup_path/$DATE/$DATE-seafile.sql
cd /backup_path/$DATE/
zip -mqP password ./$DATE-wordpress.sql.zip ./$DATE-wordpress.sql
zip -mqP password ./$DATE-seafile.sql.zip ./$DATE-seafile.sql
#打包压缩wordpress和seafile文件夹
cd /webdata_path/
zip -rqP password /backup_path/$DATE/$DATE-wordpress.zip ./wordpress/
zip -rqP password /backup_path/$DATE/$DATE-seafile.zip ./seafile/
#直接打包压缩整个数据库文件夹
cd /mysql_path/
zip -rqP password /backup_path/$DATE/$DATE-mysql.zip ./mysql/
#启动服务
service seafile start && service seahub start
service php-fpm start && service nginx start
#################################################
#上传备份到b2
rclone copy /backup_path/$DATE b2:/bucket_name/$DATE
#隐藏2周前b2备份
rclone delete b2:/bucket——name/$DELDATE
#删除本地服务器2周前备份
rm -rf /backup_path/$DELDATE

其余周一至周六每天执行Duplicacy增量备份