Linux系统如何进行备份恢复
导读:Linux系统备份恢复方法 一、备份方法 1. 文件/目录级备份 tar命令(全量备份):将多个文件/目录打包成压缩文件,保留文件属性(权限、时间戳等),适合全量备份。常用命令:tar -czvf backup.tar.gz --excl...
Linux系统备份恢复方法
一、备份方法
1. 文件/目录级备份
- tar命令(全量备份):将多个文件/目录打包成压缩文件,保留文件属性(权限、时间戳等),适合全量备份。常用命令:
tar -czvf backup.tar.gz --exclude={ "/dev/*","/proc/*","/sys/*","/tmp/*","/mnt/*","/media/*","/lost+found"} /path/to/directory(-c创建归档,-z用gzip压缩,-v显示进度,--exclude排除无需备份的目录)。 - rsync命令(增量/差异备份):仅同步变化的文件,高效节省空间,适合定期增量备份或实时同步。常用命令:
rsync -aAXv --exclude={ "/dev/*","/proc/*","/sys/*","/tmp/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup(-a归档模式,-A保留ACL,-X保留扩展属性,-v显示进度)。
2. 磁盘/分区级备份
- dd命令(整盘/分区镜像):低级复制,创建磁盘或分区的完整镜像(包括未使用空间),适合灾难恢复。常用命令:
dd if=/dev/sdX of=/path/to/backup.img bs=4M conv=noerror,sync(if输入文件/设备,of输出文件,bs块大小,conv=noerror,sync忽略错误并同步写入);恢复命令:dd if=/path/to/backup.img of=/dev/sdX bs=4M。 - LVM快照(逻辑卷即时备份):利用LVM特性创建逻辑卷的即时快照,不影响原系统运行,适合频繁备份。步骤:① 创建快照:
lvcreate -L 10G -n snap_root /dev/mapper/vg-root(-L快照大小,-n快照名称,/dev/mapper/vg-root逻辑卷路径);② 从快照恢复:挂载快照到临时目录,复制数据到目标位置,再激活原逻辑卷。
3. 数据库备份
- MySQL/MariaDB:使用
mysqldump工具备份数据库为SQL文件,支持增量备份(通过--incremental参数)。命令:mysqldump -u username -p database_name > backup.sql(-u用户名,-p密码,database_name数据库名)。 - PostgreSQL:使用
pg_dump工具备份数据库,支持自定义格式(-F c)和压缩。命令:pg_dump -U username -F c -b -v -f backup_file.db database_name(-U用户名,-F c自定义格式,-b包含大对象,-v详细模式,-f输出文件)。
4. 配置文件备份
- 手动备份:直接复制
/etc目录(存放系统配置文件)到备份位置,如cp -r /etc /path/to/config_backup。 - 版本控制:用Git管理配置文件,方便版本回滚。命令:
git init /path/to/configs & & cd /path/to/configs & & git add /etc & & git commit -m "Initial config backup"。
二、恢复方法
1. 文件/目录级恢复
- tar恢复:解压备份文件到目标目录,保留文件属性。命令:
tar -xzvf backup.tar.gz -C /path/to/restore(-x解压,-z用gzip解压,-C指定目标目录)。 - rsync恢复:将备份目录同步到目标位置,覆盖已有文件。命令:
rsync -aAXv /path/to/backup/ /path/to/restore/(注意结尾斜杠,表示同步目录内容而非目录本身)。
2. 磁盘/分区级恢复
- dd恢复:将镜像文件写回原设备,恢复完整磁盘/分区结构。命令:
dd if=/path/to/backup.img of=/dev/sdX bs=4M(if输入镜像文件,of目标设备,bs块大小)。 - LVM快照恢复:挂载快照目录,复制数据到原逻辑卷,再激活原逻辑卷。命令:
mount /dev/mapper/vg-snapshot_name /mnt/snapshot & & cp -a /mnt/snapshot/* /path/to/restore/directory & & umount /mnt/snapshot。
3. 数据库恢复
- MySQL/MariaDB:用
mysql命令导入备份的SQL文件。命令:mysql -u username -p database_name < backup.sql。 - PostgreSQL:用
pg_restore命令导入自定义格式备份文件。命令:pg_restore -U username -d database_name -v backup_file.db(-d目标数据库名,-v详细模式)。
4. 系统引导恢复(MBR/GRUB)
- MBR恢复:备份磁盘前512字节的MBR信息(包含引导程序),恢复时写回原磁盘。命令:备份
dd if=/dev/sdX of=/root/mbr_backup bs=512 count=1;恢复dd if=/root/mbr_backup of=/dev/sdX bs=512 count=1。 - GRUB恢复:进入Live CD环境,挂载原系统根分区,重新安装GRUB。命令:
chroot /mnt/sysroot & & grub-install /dev/sdX & & update-grub(chroot切换到原系统环境,grub-install安装GRUB到磁盘,update-grub更新引导菜单)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux系统如何进行备份恢复
本文地址: https://pptw.com/jishu/736714.html
