Linux中的restore

在Linux系统中,"restore"通常指数据恢复或系统还原操作。以下是主要场景和方法:

1. 文件系统恢复(ext2/ext3/ext4)

使用restore命令处理dump备份:

bash 复制代码
# 交互式恢复(浏览备份内容)
restore -i -f /backup/file.dump

# 全量恢复至当前目录
restore -r -f /backup/file.dump

参数说明:

  • -i:交互模式
  • -r:恢复整个文件系统
  • -f:指定备份文件

2. 误删文件恢复

使用extundelete工具:

bash 复制代码
# 安装工具
sudo apt install extundelete

# 恢复指定文件
extundelete /dev/sda1 --restore-file /path/to/file

# 恢复整个目录
extundelete /dev/sda1 --restore-directory /home/user

3. 系统快照恢复

LVM逻辑卷管理

bash 复制代码
# 列出快照
lvdisplay

# 恢复快照
lvconvert --merge /dev/vg0/snap-volume

Btrfs文件系统

bash 复制代码
# 列出快照
btrfs subvolume list /

# 恢复快照
btrfs subvolume snapshot /snapshots/@backup /mnt/restored

4. 软件包恢复

APT包管理

bash 复制代码
# 恢复错误配置
sudo dpkg --configure -a

# 恢复损坏包
sudo apt install --reinstall package_name

RPM包管理

bash 复制代码
sudo rpm --restore package.rpm

5. 数据库恢复

MySQL/MariaDB

bash 复制代码
mysql -u user -p dbname < backup.sql

PostgreSQL

bash 复制代码
pg_restore -d dbname backup.dump

注意事项

  1. 立即停止写入 :数据丢失后,立即卸载分区或设为只读

    bash 复制代码
    sudo mount -o remount,ro /dev/sda1
  2. 备份验证 :恢复前用-t参数测试备份完整性

    bash 复制代码
    restore -t -f backup.dump
  3. 权限问题 :恢复后检查文件权限

    bash 复制代码
    sudo chown -R user:group /restored/path

⚠️ 关键建议:定期验证备份可用性,重要数据采用3-2-1原则(3份副本、2种介质、1份异地)。