在 CentOS 上做分卷备份,常见需求是把大文件/目录拆成多个小文件(比如拷到 U 盘、网盘、老旧存储)。下面按常用场景给你几种成熟做法,从简单到专业。
适合:整机目录、网站、数据库导出、大文件
tar -cvpzf - /data | split -b 2048m - /backup/data_backup.tar.gz.
说明:
-:tar 输出到 stdoutsplit -b 2048m:每卷 2GBdata_backup.tar.gz.aa
data_backup.tar.gz.ab
data_backup.tar.gz.ac
✅ 优点:简单、稳定、通用
✅ 支持压缩
cat data_backup.tar.gz.* | tar -xvpzf -
或:
cat data_backup.tar.gz.* > data_backup.tar.gz
tar -xvpzf data_backup.tar.gz
tar -cvp /data | gzip | split -b 2048m - /backup/data.tar.gz.
解压:
cat /backup/data.tar.gz.* | gunzip | tar -xvp
⚠️ 建议进单用户模式或救援模式
tar -cvpzf - --exclude=/proc --exclude=/sys --exclude=/dev \
--exclude=/tmp --exclude=/backup / | \
split -b 4096m - /backup/centos_full.tar.gz.
⚠️ 危险操作,谨慎使用
dd if=/dev/sda1 bs=4M | split -b 2048m - /backup/sda1.img.
还原:
cat /backup/sda1.img.* | dd of=/dev/sda1 bs=4M
✅ 适合:整盘/分区
❌ 不适合:文件级恢复
rsync 不支持分卷,一般做法是:
rsync -avz /data /backup/data
tar -cvpzf - /backup/data | split -b 2048m - /backup/data.tar.gz.
| 场景 | 分卷大小 |
|---|---|
| U 盘(FAT32) | 3800M |
| 网盘 | 1G / 2G |
| 本地磁盘 | 5G / 10G |
split -b 3800m
md5sum data_backup.tar.gz.* > backup.md5
恢复时校验:
md5sum -c backup.md5
✅ 文件/目录备份:tar + split
✅ 系统备份:tar + split(排除虚拟目录)
✅ 磁盘备份:dd + split
❌ 不推荐手动拆文件
如果你愿意,可以告诉我:
我可以给你一条可直接执行的完整命令。