温馨提示×

如何备份Linux数据

小樊
69
2026-08-13 10:48:53
栏目: 智能运维

在 Linux 系统中,备份数据的方式很多,取决于你要备份什么、备份到哪里、是否需要增量备份。下面按常见场景给你一个实用指南。


一、备份前先明确 3 件事

  1. 备份什么
    • 系统配置:/etc
    • 用户数据:/home
    • 网站/数据库:/var/www、/var/lib/mysql
  2. 备份到哪里
    • 本地磁盘(外接硬盘)
    • 远程服务器(SSH / NAS)
    • 云存储(对象存储、网盘)
  3. 备份方式
    • 全量备份
    • 增量 / 差异备份

二、最常用:使用 rsync(强烈推荐)

1️⃣ 本地备份

rsync -avh --delete /home/ /mnt/backup/home/

参数说明:

  • -a:归档模式(保留权限、时间等)
  • -v:显示过程
  • -h:人类可读
  • --delete:删除目标中源没有的文件(慎用)

✅ 适合:日常数据备份
✅ 支持增量(只复制变化文件)


2️⃣ 远程备份(通过 SSH)

rsync -avh -e ssh /home/ user@remote:/backup/home/

✅ 适合:服务器、VPS
✅ 安全、稳定、常用


三、使用 tar 打包备份

1️⃣ 打包并压缩

tar -czvf backup.tar.gz /home

2️⃣ 解压恢复

tar -xzvf backup.tar.gz -C /

✅ 适合:一次性全量备份
❌ 不适合频繁增量


四、系统级备份(可恢复整个系统)

使用 dd(整盘/分区)

dd if=/dev/sda of=/backup/sda.img bs=4M status=progress

⚠️ 风险高,仅适合:

  • 磁盘克隆
  • 虚拟机镜像

五、数据库备份(常见)

MySQL / MariaDB

mysqldump -u root -p --all-databases > db.sql

PostgreSQL

pg_dumpall -U postgres > db.sql

✅ 一定要单独备份数据库,不要只复制数据目录


六、自动定时备份(cron)

编辑定时任务

crontab -e

每天凌晨 2 点备份

0 2 * * * rsync -avh /home/ /mnt/backup/home/

七、专业备份工具(进阶)

工具 特点
timeshift 系统快照(类似 Windows 还原点)
borgbackup 去重、加密、增量
restic 云存储友好
duplicity 加密 + 增量

八、备份策略建议(最佳实践)

✅ 3-2-1 原则:

  • 3 份数据
  • 2 种介质
  • 1 份异地

✅ 定期验证备份是否可恢复
✅ 重要数据加密备份


九、我可以根据你的情况给你具体方案

你可以告诉我:

  1. 是 个人电脑 / 服务器 / 云主机?
  2. 要备份 系统还是数据?
  3. 数据量大概多大?
  4. 想备份到 本地 / 远程 / 云?

我可以直接给你一套可执行的备份脚本 ✅

0 踩