上一篇
如何备份linux
- Linux
- 2025-07-14
- 3215
Linux可使用tar命令创建压缩归档,或用rsync同步文件,也可借助BackupPC等软件及云备份服务
Linux系统是确保数据安全和系统可恢复性的重要步骤,以下是详细的备份方法、工具及实践指南:

确定备份内容与策略
| 步骤 | 说明 | 示例 |
|---|---|---|
| 列出目录与文件 | 使用ls或树状命令tree确认需要备份的目录。 |
ls -l /home/user/documents |
| 设定备份频率 | 根据数据重要性选择频率(如每日、每周、每月)。 | 通过cron设置每日凌晨2点自动备份 |
| 选择备份类型 | 全量备份(完整复制)、增量备份(仅备份变化部分)或差异备份(备份自上次全量后的变化)。 | 使用rsync的--delete选项实现增量同步 |
常用备份工具与命令
rsync:高效的增量备份工具
- 特点:保留权限、符号链接,支持断点续传,适合定时备份。
- 常用参数:
-a:归档模式(保留属性)。-v:显示详细过程。--delete:删除目标中源不存在的文件,保持完全一致。
- 示例:
rsync -av --delete /source/directory /mnt/backup
tar:打包与压缩
- 特点:将多个文件合并为单一档案,支持压缩(如gzip、bzip2)。
- 常用参数:
-c:创建新档案。-z:gzip压缩,-j为bzip2压缩。-v:显示处理过程。-f:指定输出文件名。
- 示例:
tar -czvf backup.tar.gz /home/user/data
dump & restore:分区级备份
- 适用场景:备份整个文件系统(如
/home、/var)。 - 示例:
dump -0uj -f /backup/system.dump /dev/sda1 restore -rf /backup/system.dump
dd:磁盘镜像备份
- 特点:逐字节复制,适用于系统镜像或分区备份。
- 示例:
dd if=/dev/sda of=/backup/disk.img bs=4M status=progress
cp & mkdir:简单文件复制
- 适用场景:快速复制小文件或目录。
- 示例:
cp -r /etc /backup/etc_$(date +%F)
自动化备份与计划任务
- 编写脚本:
#!/bin/bash SOURCE=/home/user/data DEST=/mnt/backup/$(date +%F) mkdir -p $DEST rsync -av --delete $SOURCE $DEST
- 设置定时任务:
- 编辑
crontab:crontab -e - 添加任务(例如每日2点执行):
0 2 /path/to/backup.sh
- 编辑
备份存储与安全
| 存储介质 | 特点 | 注意事项 |
|---|---|---|
| 外部硬盘/USB | 便携易用,容量大 | 挂载前检查设备(lsblk) |
| 网络存储(NFS/SMB) | 多设备共享,适合服务器 | 确保网络稳定,配置防火墙规则 |
| 云存储(AWS/Azure) | 高可用,支持跨区域 | 加密传输(如scp或rclone工具) |
| 本地冗余 | RAID阵列或LVM快照 | 定期测试恢复流程 |
加密与压缩
- 压缩:减少存储空间占用。
gzip backup.tar生成backup.tar.gz。xz提供更高压缩比:tar -cJvf backup.tar.xz /source。
- 加密:保护敏感数据。
- 使用GPG加密:
gpg --symmetric --cipher-algo AES256 backup.tar.gz
- 解密:
gpg --decrypt backup.tar.gz.gpg > backup.tar.gz
- 使用GPG加密:
验证与恢复测试
- 验证完整性:
- 使用
rsync --dry-run模拟备份,检查错误。 - 解压测试:
tar -tf backup.tar.gz查看文件列表。
- 使用
- 恢复数据:
- 从tar恢复:
tar -xzvf backup.tar.gz -C /restore/path
- 从dump恢复:
restore -rf /backup/system.dump
- 从tar恢复:
FAQs
Q1:如何备份MySQL数据库?
A1:使用mysqldump工具导出SQL文件:

mysqldump -u root -p database_name > /backup/database.sql
Q2:备份文件过大导致磁盘空间不足怎么办?
A2:解决方案:

- 启用压缩(如
tar -czvf)。 - 分割存档(
split -b 1G backup.tar.gz part_)。 - 清理旧备份或扩展存储空间
