ubuntu快照恢复系统安装

利用快照可以进行系统备份,当系统内核更新或其他因素导致系统环境发生变化时,较为快速地恢复至原来的状态;
在安装ubuntu系统时,选择手动分区的方式
在这里插入图片描述
设置分区格式与大小
一共四个分区:
btrfs格式的 / 分区(100G):系统文件分区,格式一定选择btrfs,快照需求
swap分区(10G):自行百度
ext4的/home分区(最大):用户文件分区,尽量大
efi分区(500M):自行百度
然后安装系统,并配置环境,快照配置在之后完成;
部分参考截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后下一步正常安装系统即可;
系统安装之后,每次开机都会进入选择界面,默认30秒后进入系统
在这里插入图片描述
在终端编辑/boot/grub/grub.cfg文件,可跳过选择界面,如下:
文件为只读文件,使用sudo nano 将efi选项下的
set timeout_style=menu
set timeout=30
改为
set timeout_style=hidden
set timeout=0
实现跳过;
若更新系统,该处更改会失效,需重新修改,
参考截图:
在这里插入图片描述
在这里插入图片描述
根据需要配置系统环境后,进行快照配置,以下只进行系统文件的快照设置,用户文件无效;
1、系统环境安装完成后安装snapper,匹配系统分区snapper
sudo apt-get install snapper
2、在根文件系统(/)上创建一个 Snapper 配置。
sudo snapper -c root create-config /
3、查看是否成功
sudo snapper list-configs
4、安装系统软件、驱动等,创建系统快照
sudo snapper create -d “快照描术”
创建前:sudo snapper list
默认有一个系统快照,编号:0,Description: current
创建:sudo snapper create -d “installAndNvidia”
新增手动添加的快照,编号:1,Description: installAndNvidia
5、清空快照
在终端输入命令:sudo su
开启root用户权限,按下图内操作即可删除所有快照,同时生成最新的current快照,编号:0,然后在执行第4步,保证手动添加的快照编号为1,后续脚本中便于定位恢复快照系统;
删除指定单个快照,比如删除编号2的快照:snapper delete 2
6、snapper配置文件设置
安装完成之后,默认开启自动生成快照,方式分别为:每隔1小时自动生成快照、每次开机生成快照,Cleanup:timeline或number;
手动添加的快照Cleanup为空,此项为自动删除快照的标识,手动添加的快照不受影响;配置文件可以设置关闭根据时间自动生成快照、保存快照数量限制等功能,文件位置/etc/snapper/configs/root 和/etc/snapper/config-templates/default,前者是第2步中新建的配置,更改前者即可;
sudo nano /etc/snapper/configs/root
编辑

limit for number cleanup

NUMBER_MIN_AGE=“1”
NUMBER_LIMIT=“1”
NUMBER_LIMIT_IMPORTANT=“1”

create hourly snapshots

TIMELINE_CREATE=“no”

7、创建快照恢复脚本snapperrestore.sh,该脚本检测英伟达显卡驱动是否正常,服务不存在时恢复快照

#!/bin/bash
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
echo ${SHELL_FOLDER}
cd ${SHELL_FOLDER}
service="nvidia"
if pgrep $service > /dev/null
then
  rm ./snapper.log
  echo $(date +'%Y-%m-%d-%H-%M-%s') " $service is running" >> ./snapper.log
else
  echo "phyai" | sudo -S service cron stop #关闭本次的crontab服务
  echo "$service is not running"
  echo $(date +'%Y-%m-%d-%H-%M-%s') " restore system" >> ./snapperRestore.log
  echo "phyai" | sudo -S snapper undochange 1..0 # 恢复到快照1版本
  sleep 150                #暂停1分半再重启工控机
  echo "phyai" | sudo reboot
fi

8、运行脚本:sh snapperrestore.sh,当检测到没有nvidia显卡驱动,系统会恢复到创建的快照1版本(即步骤6配置完系统环境的快照版本)
9、设置crontab
终端输入 crontab -e
添加:* * * * * sh /home/ubuntu/work/install/snapperrestore.sh
五个*,每隔1分钟检测运行一次脚本

  • 24
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初级蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值