本地解密rclone备份遇阻:TrueNAS特定版本文件恢复求助
TrueNAS+B2备份特定版本文件解密问题解决办法
1. 解密命令错误修正
你用rclone obscure处理密码/盐是错误操作——rclone obscure仅用于加密rclone配置文件中的敏感信息,不能直接作为--crypt-password的参数值。解密时必须使用原始明文密码和盐,这就是你解密后文件出现RCLONE开头乱码的核心原因。
修正后的解密命令:
rclone copyto file.txt.bin file.txt -v --crypt-filename-encryption=off --crypt-directory-name-encryption=false --crypt-password=[你的原始明文密码] --crypt-password2=[你的原始明文盐]
注意:无需添加
--crypt-remote参数;确保本地rclone版本与TrueNAS内置的rclone版本一致,避免版本兼容问题。
2. 找回TrueNAS云同步的加密参数
TrueNAS的云同步加密信息存储在本地数据库中,可通过以下步骤提取:
- 登录TrueNAS SSH,进入数据库:
sqlite3 /data/freenas-v1.db - 查询目标云同步任务的配置,替换
[你的任务名称]为实际任务描述:SELECT cst_attributes FROM cloudsync_task WHERE cst_description LIKE '%[你的任务名称]%'; - 查询结果是JSON格式,其中
password对应加密密码,password2对应盐。若你忘记原始明文,可直接在TrueNAS Shell中执行解密操作——复用TrueNAS内置的rclone配置,无需手动输入密码。
3. 特定版本文件恢复的最优流程
方式一:下载后在TrueNAS内解密
- 登录Backblaze B2控制台,找到目标文件的历史版本,下载对应
.bin加密文件到TrueNAS本地目录 - 在TrueNAS Shell中执行解密命令(复用内置配置,无需手动输入密码):
rclone copyto /path/to/downloaded/file.txt.bin /path/to/output/file.txt -v --crypt-filename-encryption=off --crypt-directory-name-encryption=false
方式二:直接用rclone拉取并解密特定版本
- 在Backblaze B2控制台复制目标版本的
版本ID - 执行命令直接拉取并解密(替换对应参数):
rclone copyto b2:[你的B2桶名]/[文件路径]/file.txt.bin /path/to/output/file.txt -v --crypt-filename-encryption=off --crypt-directory-name-encryption=false --crypt-password=[原始明文密码] --crypt-password2=[原始明文盐] --b2-version-id=[复制的版本ID]
内容的提问来源于stack exchange,提问作者kaybie
相关产品推荐
相关产品推荐

