(1) 创建备份专用用户:sudo adduser backupuser;配置仅限SSH密钥登录并禁用密码。sudo passwd -l root,编辑 /etc/ssh/sshd_config 强制 PubkeyAuthentication。
(2) 在本地/异地存储准备SFTP/对象存储账号(例如阿里云/腾讯/其他数据中心),记录Endpoint、Bucket和密钥用于自动化上传。
(1) 初次全量:rsync -aH --delete /var/www/ backup@remote:/backups/www/$(date +%F)/
(2) 增量策略:使用 --link-dest 实现硬链接增量或采用 rsync + cron,每日执行并保留7/30/90策略。
(1) 逻辑备份:mysqldump -uroot -p --single-transaction --routines --events --triggers --databases dbname > /backup/dbname-$(date +%F).sql
(2) 二进制日志与增量:启用 binlog,在全量后记录 binlog 起点,发生恢复时 replay 对应 binlog 到指定时间点。
(1) 利用台湾VPS提供的快照API或控制面板定期创建磁盘快照,建议每次变更后做增量快照。
(2) 快照结合对象存储:将快照导出到对象存储作为长期保留,标注元数据(日期、应用版本)。
(1) 加密:使用 restic 或 borg 进行加密与去重。示例:restic -r sftp:backup@remote:/repo backup /var/www
(2) 自动化:编写 /usr/local/bin/backup.sh,加入 systemd timer 或 cron,日志写入 /var/log/backup.log 并在失败时触发告警(邮件/SMS/企业微信)。
(1) 恢复文件:rsync -a backup@remote:/backups/www/2026-04-01/ /var/www/,修正权限 chown -R www:www。
(2) 恢复数据库:mysql -u root -p < /backup/dbname-2026-04-01.sql,若使用binlog,mysqlbinlog --start-position=... | mysql。
(3) 演练:每季度至少一次完整恢复演练,记录RTO/RPO,更新时间窗口并优化脚本。
答:首先确认故障范围(机房、网络或应用),若是VPS不可用,立刻在备用机房启动预置镜像或从快照恢复实例,切换浮动IP或更新DNS(低TTL提前配置),同时恢复最近的数据库备份并验证数据一致性。
答:使用端到端加密(restic/borg + GPG)保护备份,开启访问控制与审计,异地保存至少一份(不同运营商/地域),并对敏感数据做脱敏或加密以满足合规。
答:根据业务优先级评估容忍的最大停机时间(RTO)与数据丢失量(RPO)。关键业务建议RTO<1小时、RPO<15分钟,采用主从同步或实时复制;非关键业务可放宽并使用每日备份。