Restic 备份工具实战:从入门到服务器自动化备份

服务器运行久了,总会积累越来越多的重要数据:网站代码、数据库备份、上传文件、配置文件、日志以及各种业务数据。 这些数据平时可能不会引起太多关注,但一旦遇到磁盘损坏、误删除、服务器被攻击或者系统迁移,能不能快速恢复就显得非常重要。 很多人会使用 tar 打包,再通过 scp 或 rsync 上传到另一台服务器。这种方式虽然简单,但随着数据量增加,会逐渐暴露出一些问题: 每次都要处理大量文件,备份耗时较长。 多次备份会产生大量重复数据,占用存储空间。 缺少统一的历史版本管理。 需要自己编写脚本处理备份保留和清理。 备份文件缺少统一的加密和完整性检查机制。 如果希望有一套更完善的备份方案,可以了解一下 Restic。 Restic 是一款开源、跨平台的备份工具,支持增量备份、数据去重、加密存储和多种存储后端。通过它,我们可以用相对简单的命令,为 Linux 服务器建立一套自动化备份方案。 本文将从实际使用出发,介绍 Restic 的安装、配置、备份、恢复和自动化运维。 一、Restic 是什么? Restic 是一款使用 Go 语言开发的开源备份工具,支持 Linux、macOS、Windows 等操作系统。 它的设计目标比较明确:让备份过程尽可能简单,同时保证备份数据的安全性和存储效率。 与传统的文件打包方式相比,Restic 有几个比较重要的特点。 1. 增量备份与数据去重 Restic 不会在每次备份时都重新上传所有文件。 它会分析文件内容,将数据拆分成不同的数据块,并通过内容识别和去重机制,复用仓库中已经存在的数据。 例如,服务器第一次备份了一个 10 GB 的目录,第二天只修改了其中一部分文件,那么第二次备份通常只需要保存新增或发生变化的数据块。 这样可以减少重复数据的传输和存储开销。 2. 自动加密 Restic 在保存数据之前会进行加密。 备份仓库中的文件内容、文件名等信息不会以普通明文形式直接暴露。即使备份数据存储在远程服务器或对象存储中,也不意味着存储服务提供商能够直接读取备份内容。 需要注意的是,加密密码非常重要。如果丢失了访问仓库所需的密钥或密码,又没有其他可用密钥,就可能无法恢复数据。 3. Snapshot 快照管理 Restic 使用 Snapshot(快照)记录某个时间点的文件状态。 例如: 周一备份了一次。 周二修改了配置文件,再备份一次。 周三误删了一个目录。 即使当前服务器上的文件已经发生变化,也可以选择周一或周二的快照进行恢复。 这意味着 Restic 不只是保存一份文件副本,还能帮助我们管理历史版本。 4. 支持多种存储后端 Restic 不局限于本地磁盘,可以将备份保存到多种存储位置: 本地目录 SFTP 服务器 HTTP REST Server Amazon S3 MinIO Backblaze B2 Microsoft Azure Blob Storage Google Cloud Storage 其他兼容存储或通过 rclone 接入的服务 因此,我们可以根据实际环境选择备份目标。...

2025年11月03日 · 5 min · Leanku

Linux 常用命令速查手册

Linux 服务器出现问题时,最重要的不是记住多少命令,而是能否快速找到问题所在。 例如: 服务器突然变慢,应该先检查 CPU 还是内存? 内存占用很高,如何判断是真正的内存不足,还是 Linux 正常使用缓存? 磁盘空间显示已满,但找不到占用空间的大文件,应该怎么办? 服务启动成功,却无法通过外部网络访问,如何定位问题? 某个端口被占用,如何找到对应的进程? 这些都是日常服务器运维中经常遇到的问题。 本文整理了一份 Linux 常用命令速查手册,按照实际排查场景划分,涵盖系统信息、CPU、内存、磁盘、网络、端口、进程和日志等内容。每个部分不仅介绍常用命令,还会说明关键参数和典型排查思路,方便日常查阅。 一、系统基础信息 排查服务器问题时,首先应该了解当前系统的基本情况,包括操作系统版本、内核版本、运行时间和系统负载。 1.1 查看操作系统版本 # 查看发行版信息 cat /etc/os-release # 查看系统内核版本 uname -r # 查看完整内核信息 uname -a # 查看系统架构 uname -m /etc/os-release 可以查看当前 Linux 发行版及版本,例如 Ubuntu、Debian、Rocky Linux 等。 uname -r 主要用于确认当前运行的 Linux 内核版本。 1.2 查看系统运行时间 # 查看系统运行时间和负载 uptime # 查看当前登录用户 who # 查看当前用户及系统负载 w uptime 输出示例: 14:30:01 up 30 days, 2:15, 2 users, load average: 1....

2023年11月03日 · 8 min · Leanku