开发者

Linux系统备份及还原全过程

开发者 https://www.devze.com 2025-12-30 09:57 出处:网络 作者: 大侠运维联盟
价值2999元 Java视频教程限时免费下载
专为Java开发者设计,涵盖核心技术、架构设计、性能优化等
立即下载
目录一、Timeshift 是什么?1.安装Timeshift(适合桌面用户)2.图形化备份3.系统还原-图形化界面操作4.系统还原-终端命令操作二、使用rsync进行增量和全量备份三、使用tar打包系统镜像四、使用dd进行磁盘级备份总结一
目录
  • 一、Timeshift 是什么?
    • 1.安装Timeshift(适合桌面用户)
    • 2.图形化备份
    • 3.系统还原-图形化界面操作
    • 4.系统还原-终端命令操作
  • 二、使用rsync进行增量和全量备份
    • 三、使用tar打包系统镜像
      • 四、使用dd进行磁盘级备份
        • 总结

          一、Timeshift 是什么?

          Timeshift 是一个用于 linux 系统的开源系统还原工具,其功能类似于 Windows 的“系统还原”或 MACOS 的 Time Machine。

          它主要用于创建文件系统的快照(snapshots),以便在系统出现问题(如软件崩溃、配置错误、更新失败等)时,能够快速回滚到之前正常工作的状态。

          主要特点:

          快照类型

          • RSYNC 模式:使用 rsync 和硬链接来创建快照,节省磁盘空间。
          • BTRFS python模式(仅限 Btrfs 文件系统):利用 Btrfs 的子卷快照功能,效率更高、占用更少资源。

          自动/手动快照

          • 可设置定时任务(如每天、每次启动、每次升级前)自动创建快照。
          • 也支持用户手动触发快照。

          只备份系统文件

          • 默认情况下,Timeshift 不会备份用户数据(如文档、图片、下载等),只备份系统目录等),以避免占用过多空间并专注于系统恢复。

          图形界面 + 命令行支持

          • 提供直观的 GUI(基于 GTK),适合普通用户。
          • 也提供命令行工具`,适合高级用户或脚本自动化。

          安全回滚

          • 回滚操作会将整个系统恢复到快照时的状态,但保留当前用户的主目录(除非特别指定)。

          使用场景举例:

          • 升级系统后出现驱动不兼容 → 回滚到升级前的快照。
          • 误删关键配置文件 → 从最近快照中恢复。
          • 测试新软件导致系统不稳定 → 快速还编程客栈原到干净状态。

          1.安装Timeshift(适合桌面用户)

          # Ubuntu
          sudo apt update
          sudo apt install timeshift
          
          # Centos
          sudo yum install timeshift
          
          

          2.图形化备份

          2.1启动

          Linux系统备份及还原全过程

          快照类型一般选择RSYNC。

          Linux系统备份及还原全过程

          快照位置选择你的备份盘:

          Linux系统备份及还原全过程

          快照等级根据自己需求来,我一般是有需要才备份,所以禁用了自动备份。

          Linux系统备份及还原全过程

          备份目录的话我是都选了

          Linux系统备份及还原全过程

          后面的筛选和Misc我都没动,默认即可

          Linux系统备份及还原全过程

          Linux系统备份及还原全过程

          然后点击创建(Create)即可生成如下快照

          Linux系统备份及还原全过程

          3.系统还原-图形化界面操作

          首先选择要恢复的快照,然后点击恢复;

          Linux系统备份及还原全过程

          接着跳出界面:默认下一步就行

          4.系统还原-终端命令操作

          # 备份
          sudo timeshift --create --comments "快照名"
          
          #设置备份目标目录
          #我们可以通过配置 /etc/timeshift/timeshiftpython.json 中的 backup_device_uuid 来确定备份位置。
          #通过如下命令可以查看磁盘 UUID :  blkid    cat /etc/fstab
          
          
          # 查看。查看已存在的快照
          sudo timeshift --list
          
          
          # 删除快照
          sudo timeshift --delete --snapshot '2025-12-18_10-43-33'
          
          # 恢复。选择上面已存在的其中一个快照进行恢复,如:快照'2025-12-18_09-32-13'。
          # --skip-grub 表示不恢复 GRUB android引导配置(通常推荐,除非你明确知道引导也坏了)。
          sudo timeshift --restore --snapshot '2025-12-18_09-32-13' --skip-grub
          
          
          

          Linux系统备份及还原全过程

          二、使用rsync进行增量和全量备份

          rsync 是Linux下高效、灵活的文件同步android与备份工具,支持本地和远程备份,适合定期增量备份。

          操作步骤:

          • 安装rsync(如未安装):
          sudo apt install rsync(Debian/Ubuntu)
          sudo yum install rsync (CentOS/RHEL)
          • 执行全量备份到外部目录或挂载设备:
          sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /backup/location/
          

          说明参数含义:

          • -a:归档模式,保留权限、链接等
          • -A:保留ACL属性
          • -X:保留扩展属性
          • -v:显示详细过程
          • –exclude:排除不必要的系统目录

          后续可配合cron定时执行,实现自动增量备份。

          三、使用tar打包系统镜像

          tar 是最基础的归档工具,适合创建完整的系统快照,可用于紧急恢复。

          操作步骤:

          • 挂载一个外部存储设备用于存放备份文件,例如挂载U盘到 /mnt/backup
          • 进入根目录并运行tar命令:
          sudo tar -cvpzf /mnt/backup/system-backup-$(date +%Y%m%d).tar.gz \
            --exclude=/proc \
            --exclude=/lost+found \
            --exclude=/sys \
            --exclude=/dev \
            --exclude=/backup* \
            --exclude=/mnt \
            --exclude=/media \
            /
          

          恢复时,将备份文件放在新系统中解压:

          sudo tar -xvpzf system-backup-20250405.tar.gz -C /restore/location/

          注意:恢复前需确保目标分区结构已准备就绪。

          四、使用dd进行磁盘级备份

          dd 可以对整个磁盘或分区进行位级复制,适用于创建完全一致的镜像。

          操作步骤:

          • 查看磁盘信息:
          lsblk 或 fdisk -l 找到源磁盘(如 /dev/sda)
          • 将整个磁盘备份为镜像文件:
          sudo dd if=/dev/sda of=/mnt/backup/sda-backup.img bs=64K conv=noerror,sync
          • 压缩镜像节省空间:
          gzip /mnt/backup/sda-backup.img
          • 恢复时反向操作:
          sudo dd if=/path/to/sda-backup.img of=/dev/sda

          注意:dd操作不可逆,务必确认输入输出设备正确。

          总结

          以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

          0
          价值2999元 Java视频教程限时免费下载
          专为Java开发者设计,涵盖核心技术、架构设计、性能优化等
          立即下载

          精彩评论

          暂无评论...
          验证码 换一张
          取 消