备份与恢复
如何将用户迁移到新服务器?
当前的恢复功能支持恢复由 VestaCP 与 HestiaCP 生成的备份。
在旧服务器上为该用户创建备份:
bashv-backup-user username将生成的 tar 包复制到新服务器的
/backup目录:bashscp /backup/username.2020.01.01-00-00.tar root@host.domain.tld:/backup/在新服务器上恢复备份。若要恢复为其他用户名,可在命令中更改用户名:
bashv-restore-user username username.2020.01.01-00-00.tar
不存在的用户将自动创建。
可以恢复哪些类型的备份?
当前仅支持恢复以下来源的备份:
- HestiaCP
- VestaCP
如何调整备份保留数量?
如需调整备份数量,请参阅 套餐 与 用户 文档。需要创建或编辑套餐,并分配给目标用户。
备份失败:磁盘空间不足
出于安全考虑,创建备份时 Hestia 需预留用户磁盘占用的 2 倍空间。因此开始备份前会检查用户剩余可用空间。若遇到该错误,可尝试:
- 降低每个用户保留的备份数量。
- 将备份存储迁移到远程存储。
- 将备份目录挂载到其他磁盘。
- 将大型用户拆分为多个用户。
- 在备份中排除部分目录或邮箱账户。
zstd 与 gzip 的差异
zstd 由 Facebook 开发,用于替代 gzip。我们的测试显示,相比 gzip,zstd 具有更快的速度与更小的空间占用。
更多信息可参阅 zstd 仓库。
最佳压缩级别
级别越高,压缩率越高。测试表明:zstd 等级 3 的体积与等级 9 接近,但速度更快;等级 11 体积更小、速度相近。19 以上等级速度极慢,不建议使用。
支持的备份协议
- FTP
- SFTP
- Rclone(支持 50+ 云存储服务商,见其文档)
配置 FTP 备份主机
通过 SSH 以 root 执行:
v-add-backup-host 'ftp' 'remote.ftp-host.tld' 'backup-user' 'p4ssw0rd' '/path-backups/' 'port'配置 SFTP 备份主机
WARNING
注意:密码会以明文存储在服务器上,仅 root 可访问。若需更高安全性,建议使用公私钥。
以 root 执行:
v-add-backup-host 'sftp' 'remote.ftp-host.tld' 'backup-user' 'p4ssw0rd' '/path-backups/' 'port'使用公私钥(推荐):
v-add-backup-host 'sftp' 'remote.ftp-host.tld' 'backup-user' '/root/id_rsa' '/path-backups/' 'port'配置 Rclone
TIP
首次配置需通过命令行完成;之后可在 Web 面板中更新设置。
先下载 Rclone,可运行:
sudo -v
curl https://rclone.org/install.sh | sudo bash安装完成后,以 root 运行 rclone config 并选择 n 新建,按提示完成。
验证是否可用:
echo "test" > /tmp/backuptest.txt
rclone cp /tmp/backuptest.txt $HOST:$FOLDER/backuptest.txt
rclone lsf $HOST:$FOLDER确认已上传后,清理:
rclone delete $HOST:$FOLDER/backuptest.txt保存配置后,在 Hestia 中添加:
v-add-backup-host 'rclone' 'remote-name' '' '' 'Bucket or Folder name' ''TIP
不同端点配置差异较大,请务必测试。可执行:
v-backup-user admin示例:
rclone config
Current remotes:
Name Type
==== ====
r2 s3使用 “R2”:
v-add-backup-host 'rclone' 'r2' '' '' 'folder'Backblaze B2:
v-add-backup-host 'rclone' 'b2' '' '' 'hestiacp'增量备份(Restic)
在用户套餐中启用增量备份。
使用 Rclone
自 1.9 起 Hestia 默认包含 Rclone。以 root 运行 rclone config 并选择 n 新建,完成后执行:
v-add-backup-host-restic 'rclone:target:/folder/' '30' '8' '5' '3' '-1'
v-backup-users-restic
# 或者
v-backup-user-restic usernameWARNING
首次运行会初始化 Restic 仓库,并在 /usr/local/hestia/data/users/{users}/restic.conf 生成加密密钥。请务必备份该文件;若丢失或用户被删除,将无法恢复数据。这也是我们建议保留原完整备份的原因。
其他方式
只要 Restic 支持即可。但命令以 root 运行,无法预先交互提供密钥/密码,因此推荐用 Rclone 方案。
更改默认备份目录
出于安全考虑,不允许使用符号链接。要更改默认备份目录:
确保当前备份目录为
/backup。若目录内有内容,先清空再重建(或直接
mkdir /backup)。使用
mount --bind将目标目录挂载到/backup:bashmount --bind /path/to/new/backup/folder /backup
要持久化,请在 fstab 中添加记录以便开机自动挂载:
打开
/etc/fstab。追加:
bash/path/to/new/backup/folder /backup none defaults,bind 0 0保存文件。
解压 .zstd 文件
可参考下述步骤,或使用 WinRAR 6.10 及以上版本解压 .zst 文件。
在 Windows 上用 zstd.exe 解压 domain_data.tar.zst
下载并解压 zstd.exe(见 zstd GitHub)。
解压命令:
batch{dir_to_zstd}\zstd.exe -o {dir_to_file}\{file}.tar.zst例如:
batchC:\Users\{user}\Downloads\zstd-v1.4.4-win64\zstd.exe -d c:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar.zst输出:
batchC:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar.zst: 61440 bytes使用你偏好的工具解压生成的 tar 包,例如:
batchC:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar