linux文件备份及恢复命令
linux文件备份及恢复命令详细介绍
在 Linux 系统中,常用的文件备份与恢复命令主要用于对文件、目录甚至整个磁盘进行数据备份,并在需要时还原数据。以下是一些常用命令及其典型用法:
1. tar 命令(归档与压缩)
功能
将多个文件或目录打包成一个归档文件,支持压缩(如 gzip、bzip2、xz 等)。
语法
bash
选项 目标归档文件 源文件/目录
选项 目标归档文件 目标目录
常用选项
| 选项 | 说明 |
|---|---|
-c |
创建新归档 |
-x |
解压归档 |
-f |
指定归档文件名 |
-v |
显示详细过程 |
-z |
用 gzip 压缩 / 解压(归档名以 .tar.gz 或 .tgz 结尾) |
-j |
用 bzip2 压缩 / 解压(归档名以 .tar.bz2 结尾) |
-J |
用 xz 压缩 / 解压(归档名以 .tar.xz 结尾) |
-C 目录 |
在解压时指定目标目录 |
示例
- 备份目录并压缩(gzip):bash
backup.tar.gz /path/to/source/dir - 恢复压缩归档:bash
backup.tar.gz /path/to/restore/dir
2. rsync 命令(同步备份)
功能
高效地同步文件和目录,支持本地或远程(通过 ssh/rsync 协议)备份,可增量备份(仅传输变化的数据)。
语法
bash
源路径 目标路径
源路径 username@remote_host:目标路径
常用选项
| 选项 | 说明 |
|---|---|
-a |
归档模式(保留权限、时间戳等) |
-v |
显示详细过程 |
-z |
传输时压缩数据 |
--delete |
确保目标目录与源目录一致,删除目标中多余的文件 |
-n |
模拟运行(不实际传输数据) |
-P |
显示进度,支持断点续传 |
示例
- 本地目录同步备份:bash
/path/to/source/ /path/to/backup/ - 远程服务器备份:bash
/local/source/ user@remote.com:/remote/backup/
3. dd 命令(磁盘镜像)
功能
用于克隆磁盘或分区,生成二进制镜像文件(适用于整盘备份)。
语法
bash
输入设备 输出镜像文件 块大小
镜像文件 目标设备 块大小
示例
- 备份整个磁盘(如
/dev/sda):bash/dev/sda /backup/sda.img 4M progress - 恢复磁盘镜像到目标设备(如
/dev/sdb):bash/backup/sda.img /dev/sdb 4M progress
注意:操作前务必确认设备路径,错误操作可能导致数据丢失!
4. cpio 命令(归档工具)
功能
用于创建和提取归档文件,常与管道结合使用(如配合 find 命令筛选文件)。
语法
bash
源目录 cpio 归档文件.cpio
cpio 归档文件.cpio 目标目录
常用选项
| 选项 | 说明 |
|---|---|
-o |
创建归档 |
-v |
显示详细过程 |
-i |
提取归档 |
-D 目录 |
指定目标目录 |
5. dump 和 restore 命令(文件系统备份)
功能
针对 ext 文件系统的备份工具,支持增量备份和跨设备恢复。
语法
bash
dump /backup/dumpfile /dev/sda1
restore /backup/dumpfile /path/to/restore/dir
注意:dump 和 restore 逐渐被 tar、rsync 等工具替代,仅在特定场景使用。
总结建议
- 日常文件 / 目录备份:首选
tar(压缩归档)或rsync(增量同步)。 - 整盘克隆:使用
dd(需谨慎操作设备路径)。 - 远程备份:
rsync配合ssh实现安全传输。 - 自动化脚本:结合
cron定时执行备份任务(如每天凌晨同步数据)。
使用前务必确认命令参数和路径正确性,重要数据建议多次验证恢复流程!