Timeshift系统备份与还原

Timeshift系统备份与还原

系统备份

一般Linux系统是比较稳定的,但是一旦崩溃就很难恢复,这里介绍 Timeshift系统备份工具。

  1. 安装Timeshift

    • ubuntu 和 linux mint

      sudo apt-add-repository -y ppa:teejee2008/ppa
      sudo apt-get update
      sudo apt-get install timeshif
      
    • deepin

      deepin 安装相对比较复杂,但是在国外有一个 DEEPINES 补充库,主要针对deepin不支持的软件移植。

      下载仓库安装包,访问此网站下载,或者百度网盘链接: https://pan.baidu.com/s/1sK0FiVaF_W_8YM94kpA8Uw 提取码: 98uk

      安装扩展库包:

      sudo dpkg -i deepines-repository_3.1_amd64.deb
      
      sudo apt-get update
      sudo apt-get install timeshift
      
  2. 打开timeshift软件,设置备份与还原类型:

    在这里插入图片描述

    此处选择【RSYNC】

  3. 在【位置】选项内选择快照存储的位置:

    在这里插入图片描述

    每台设备安装分区不一样,大家安装实际情况选择,一般选择比较大的空间存储,并且最好是机械,这样不容易损坏。

  4. 在【计划】选项内不定期做备份

    在这里插入图片描述

    不选择周期备份的原因是因为磁盘占用空间会不断增长,需要定期清理。

  5. 在【用户】选项内设置需要备份的分区,root默认就是全备份的,经测试更改也是无效的,也就是root必须备份。

    image

    建议这样配置:

    • root选择【包含一切】或者【排除一切】
    • home选择【排除一切】
  6. 在【筛选】选项内可以自定义备份文件或文件夹

    在这里插入图片描述

    例如上图中就是/home/vincent目录下除了.config.cinnamon.local文件夹外都不备份。

    建议这样配置:

    • 先将home整个目录排除,添加/home/vincent/**
    • home目录下比较重要的如:.local.config等,需要加入,切记要加上***三个星
  7. 创建快照

    此时timeshift会根据时间生成一个带有时间戳的快照,此过程需要等待一段时间,并且期间不要对电脑执行任何操作。

还原主要针对三种情况

如果能够进入系统

  1. 如果此时还能够进入系统,直接打开 Timeshift软件进行还原:

    在这里插入图片描述

  2. 在弹出的窗口内点击下一步开始进行还原到选中的节点:

    在这里插入图片描述

还原完成后重启电脑即可。

如果只能进入登录界面

一般系统崩溃后不能进入桌面,但是能够进入登录界面,现象就是在登录界面输入密码后不会进入桌面,那么就要通过命令行的方式进行还原。

  1. 通过Ctrl+Alt+F1(一般是F1-F6都可)进入tty终端:

  2. 输入用户和密码登录

  3. 执行下面命令获取系统当前可以还原的节点:

    sudo timeshift --list
    

    输出内容:

    Device : /dev/sdb4
    UUID   : 197c4161-abc6-4069-8544-d86594211f04
    Path   : /home
    Mode   : RSYNC
    Device is OK
    12 snapshots, 92.5 GB freeNum     Name                 Tags  Description  
    ------------------------------------------------------------------------------
    0    >  2018-08-08_11-49-26  O D                
    1    >  2018-08-13_23-02-06  O                  
    2    >  2018-08-15_22-53-24  O                  
    3    >  2018-08-21_09-37-29  O                  
    4    >  2018-11-19_17-43-59  O                  
    5    >  2019-01-20_19-36-34  O                  
    6    >  2019-03-01_11-18-09  O                  
    7    >  2019-03-01_14-54-37  O                  
    8    >  2019-03-04_14-48-57  O                  
    9    >  2019-03-10_20-50-00  O                  
    10   >  2019-03-14_11-51-54  O                  
    11   >  2019-07-16_16-35-42  O
    
  4. 选择一个节点进行还原

    sudo timeshift --restore --snapshot '2019-07-16_16-35-42' --skip-grub
    

    –skip-grub 选项为跳过grub安装,一般来说grub不需要重新安装,除非bios启动无法找到正确的grub启动项,才需要安装。

    在输出的内容中依次输入【Enter】键和【y】键。

    当然也可以直接输入下面的命令,忽略交互式的安装界面:

    sudo timeshift --restore --snapshot '2019-07-16_16-35-42' --skip-grub --scripted
    

无法进入系统,通过U盘启动系统

当登录界面和桌面环境都无法进入时,一般系统已经彻底崩溃,此时只能通过Linux live CD进行还原。

  1. 制作Linux Mint 启动盘,制作过程略。

  2. 进入Live系统后打开 Timeshift 软件,点击设置按钮,设置快照的存储位置:

    在这里插入图片描述

    快照的存储位置是Timeshift在做备份的时候就已经设置好的。

  3. 后续步骤和【如果能够进入系统】内的还原方式一样。

其实此时还可以通过命令行的方式进行还原,但是首先需要设置快照存储的位置:

sudo timeshift --snapshot-device /dev/sdb4

后续步骤和【如果只能进入登录界面】内的还原方式一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Angular之ngx-permissions的角色管理

Angular之ngx-permissions的角色管理 案例 demo https://stackblitz.com/edit/ngx-permissions-role 介绍 通过定义一个角色是一组指定的由特定用户组的鉴别能力(权限)。因此,例如用户或匿名的角色和权限不够。我们可以代表我们作为一组权限的角色应该是能够执行的用户角色…

Angular之ngx-permissions的路由使用

Angular之ngx-permissions的路由使用 介绍 现在,你准备开始与控制访问应用程序的状态工作。为了限制任何状态ngx-permission需要依靠 Angular Route 数据属性,通过permissions间接控制认证配置。 Permissions对象接受以下属性: 属性接受值onlyString|Array|Functionexcep…

Angular之jwt令牌身份验证

Angular之jwt令牌身份验证 demo https://gitee.com/powersky/jwt 介绍 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在…

图片床

仅供存储图片

Angular实现dialog对话框封装

Angular实现dialog对话框封装 为什么要封装? 对于Angular Material UI库中的dialog组件,实在不是很好用,所以打算简单封装一下啊。 直接代码吧。 封装dialog组件 1.创建一个dialog组件 2.dialog.component.html文件 <ng-template #dialog><!-- 对话框投射内容…

Ubuntu LinuxMint安装微信QQ阿里旺旺

Ubuntu LinuxMint安装微信QQ阿里旺旺 目前linux大部分桌面发行版都可以安装windows版本的微信、QQ、阿里旺旺等软件了&#xff0c;这是deepin系统的功劳&#xff0c;这里还要感谢一下 前深度CEO 勇哥的不懈努力和坚持。 安装 这里推荐一个移植好的安装方法。 zq1997/deepin-w…

开发简化版NgFor

开发简化版NgFor 下面是自定义实现一个简化版本的NgFor指令,一般来说使用Angular默认的即可,但是在追求高性能的时候,或许你需要这样一个简化版本的指令,让你的程序运行流畅、纵享丝滑。 直接贴出代码。 import {Directive, EmbeddedViewRef, Input, DoCheck, OnChanges…

Angular 9 新功能摘要

Angular 9 新功能摘要 Angular的9.0.0版本已经发布了!这是一个跨越整个平台的主要版本,包括框架、Angular Material、和Angular CLI。该版本将应用程序默认切换到Ivy编译器,并引入了改进的组件测试方法。 这是Angular在过3年内对Angular做的最大更新之一,Ivy 的正式应用,…

Angular添加class的正确方式

Angular添加class的正确方式 很多时候我们会遇到需要给元素增加或删除指定class,从而达到某种目的。那么在Angular中我们如何添加? className属性绑定 我们可以通过HTML元素的className属性进行绑定: <div [className]="demo-class"></div>当然也…

创建自定义Tabs组件-01

创建自定义Tabs组件-01 此文章用于讲解如何封装一个自定义 Tabs 组件。一步一步了解如何封装自己想要的组件。 构思 想象一这个组件该如何使用?一定要站在使用者的角度,大致可能这样。 <tabs><tab title="Tab 1">Tab 1</tab>

Angular自动取消订阅RxJs

Angular自动取消订阅RxJs 在使用 rxjs 时我们经常忘记调用unsubscribe()而导致内存泄露,很多时候你很难发现它,在RxJs官方有这样一段话: What is a Subscription? A Subscription is an object that represents a disposable resource, usually the execution of an Obser…

websocket心跳检测前后端架构

websocket心跳检测前后端架构 本篇文章为初略架构websocket在前后端的心跳检测机制,实现相对毛糙。 下面介绍内容参照 廖雪峰 的描述,为了切换页面麻烦,这里就直接挑简要的信息复制黏贴过来。 廖雪峰 – WebSocket 教程。 为什么需要 WebSocket? 初次接触 WebSocket 的人…

Angular消息通知组件ngx-notification

Angular消息通知组件ngx-notification It is a flexible and usable component. Demo Demo Installation 1.You need install @flywine93/ngx-notification by npm npm install @flywine93/ngx-notification --save2.You need install @flywine93/ngx-autounsubscrb npm …

01-go安装

01-go安装 本教程适用于linux发行版安装。 当前系统使用的是linux mint 19.ubuntu deepin 等同理。 下载安装包 下载地址 go downloads。 选择Linux包点击下载。 开始安装 1.设定安装目录 在下载好的压缩包文件夹内打开终端&#xff0c;并设置安装目录环境变量&#xff0c…

02-go的IDE安装

02-go的IDE安装 此篇文章是在go已经安装的前提下进行的&#xff0c;如果go还没有安装请参考这篇文章 01-go安装。 本文章使用的是vscode作为go IDE&#xff0c;所以需要提前安装好vscode&#xff0c;并且是在linux系统下。 当前系统为linux mint 19&#xff0c;ubuntu deepin…

03-go的包管理

03-go的包管理 在Go 1.11和1.12版本时就已经支持了对包管理功能,但还是相对有一些小的问题,不过在后续的版本中已经陆续解决。增加包管理是必然趋势,一门好的语言,不光要有好的生态,优美的语法,包管理也是必不可缺的功能,例如大名鼎鼎 npm,就连 C++ 也要推出包管理,好…

04-go命令使用

04-go命令使用 此篇文章是基于GO 1.14.1,如果版本相差过大,还是以版本的命令为准。 命令简介 bug—用于提交使用过程中的bug。build—用于构建二进制可执行文件。clean—用于删除在构建过程中生成的临时文件。doc—用于生成项目文档。env—查看go的环境变量。fix—把指定代…

go设计模式之代理模式

go设计模式之代理模式 代理模式的基本思想是,需要服务的代码只与代理类打交道,而实际工作的部分隐藏在代理的背后。它的主要的目的是希望隐藏实现的部分,从而消除代码的耦合。 举个例子来说就是像电脑桌面的快捷方式。电脑对某个程序提供一个快捷方式(代理对象),快捷方…

go设计模式之单例模式

在这里插入图片描述# go设计模式之单例模式 在软件开发时,经常会遇到有些对象需要保证只有一个实例的,那么这种设计模式就应用而生。 定义 单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例…

go设计模式之装饰器模式

go设计模式之装饰器模式 再写这篇文章时,我已经看了很多其他人发表的类似文章,大概看了这么多吧。 亓斌的设计模式-装饰者模式(Go语言描述)jeanphorn的Golang设计模式之装饰模式七八月份的太阳的Golang装饰器设计模式(九)我个人都不是很满意,所以才自己从头开始写关于go语…