前言
我们常见的备份方案都是坚持3.2.1的原则,即一份数据要至少有3个副本,然后至少存在2个不同介质中,最后就是至少要保证1个异地备份。
自己本身没啥重要文件,但是我始终坚持数据必须要掌握在自己手中,包括现在选择软件都选择数据可以导出,尽量使用开源软件,在前段时间写过一篇 备份同步神器 Rclone 使用教程 ,自从那以后,我就将自身大部分相对重要的数据来同步到对象存储中,以防丢失。
这次整理要同步的文件的时候,发现还是有些敏感的信息以前是直接明文同步到对象存储,这样还是相对不太安全的,于是花了点时间把rclone自带的encrypt加密功能给打开了,配置也不是很麻烦,主要做个备忘。
配置
rclone默认的配置路径为 : root/.config/rclone/rclone.conf
我以我以前的文章已经存在的配置继续追加配置:
代码语言:javascript复制[tencent-cos] # 自定义的名称
type = s3 # 存储类型,参考官方文档所有支持的类型
provider = TencentCOS # 提供商,参考官方文档或者全部
env_auth = false # 不通过环境变量配置认证
access_key_id = AKxxxxxxxx # 腾讯云后台生成的密钥key
secret_access_key = Secretxxxxxxx # 腾讯云后台生成的密钥secret
endpoint = cos.ap-chengdu.myzijiebao.com # 腾讯云cos所在的地区,看你所在存储桶的公网地址
rclone的加密功能原理就是直接添加一个中间层,然后在上传和下载的时候再进行加解密,所以可以只针对重要的文件加密,加密的文件在对象存储中看就是加密的,只有通过rclone进行同步才会在本地解密。
下面我实现的是直接加密上面的 tencent-cos
远端,我加密的远端命名为encrypted-tencent-cos,然后要加密的文件都放到对象存储的encrypted-file文件夹中。
在原有的配置中追加下面配置:
代码语言:javascript复制[encrypted-tencent-cos] # 加密远端名称 www.51it.wang 博客出品
type = crypt # 加密存储类型
remote = tencent-cos:/腾讯云对象存储id/encrypted-file
filename_encryption = obfuscate # 文件名加密方式
directory_name_encryption = false # 文件夹是否加密
password = your password1 # 密码1,请妥善保管
password2 = your password2 # 密码2,请妥善保管
按照提示修改为你的信息即可,然后password一定要妥善保管,尽量长一些,密码如果丢了无法解密,密码如果丢了无法解密,密码如果丢了无法解密,重要事情说三遍!
按照上面配置好后,你就可以使用rclone的所有命令进行同步,然后需要加密的时候就选择encrypted-tencent-cos远端即可。比如:
代码语言:javascript复制# 同步本地/data/file的文件夹内容到tencent-cos存储下的/beifen文件夹中,并且排除/root/excludes.txt中指定的文件内容
rclone sync /data/file tencent-cos:/beifen --exclude-from '/root/excludes.txt'
# 加密同步本地/data/file的文件夹内容到tencent-cos存储下的/beifen文件夹中,并且排除/root/excludes.txt中指定的文件内容
rclone sync /data/file encrypted-tencent-cos:/beifen --exclude-from '/root/excludes.txt'
总结
按照本文教程可以实现对重要敏感文件进行同步备份,如果你不想使用追加配置的方式,你也可以使用 rclone config
通过引导的方式一步步的添加,更多了解可以看下文末的参考链接。
通过本文你可以针对于服务器的一些敏感信息,个人隐私数据做加密同步云端做到异地备份。
参考链接
Rclone Crypt
备份同步神器 Rclone 使用教程
如何使用Rclone加密云存储文件
rclone加密备份目录文件