Ubuntu Desktop 版本默认自带了图形化的备份/还原工具 Déjà Dup。该工具主要用来备份和还原用户的数据,当然我们也可以用它来备份/还原系统的数据。本文主要介绍 Déjà Dup 的主要功能和用法,如果没有特殊的说明,我们在文中称演 Déjà Dup 为备份工具。本文的演示环境为 Ubuntu Desktop 18.04。

启动备份工具

在 Ubuntu 18.04 之前,可以从 Settings 中找到并启动备份工具。但是到了 18.04,备份工具不再出现在 Settings 中了,在 Activities 中搜索 "backups" 可以找到该工具:

启动后的界面如下所示:

看起来还是挺简单的,Overview 界面上的 "Back Up Now…" 和 "Restore…" 按钮分别用来备份和还原数据。至于要备份哪些数据,则可以通过 Folders to save 界面进行配置。

选择要备份的数据

备份工具默认只备份当前用户家目录下的数据:

我们可以通过添加和删除按钮添加或删除其它的目录,下图中笔者又添加了两个新的目录 /etc 和 /boot:

选择不要备份的数据

如果想要排除备份目录下的某些文件夹,在 Folders to ignore 界面中添加这些文件夹就可以了。默认的目录有 Trash 和 ~/Downloads,下图中的 ~/Pictures/test 则是笔者另外添加的目录:

指定备份数据的存储位置

备份的数据默认存放在用户的家目录下,默认的目录名称为机器的 hostname:

没错,这台虚机的 hostname 是 mantis。
把数据备份到本机并没有太大的意义,通过选择 Storage location 可以把数据备份到其它地方:

我们选择备份到 Network Server,目前支持的网络协议还是很丰富的:

下面的配置把备份的位置设置到主机 10.32.2.151 上的 /home/nick/bak 目录下,使用 ssh 协议执行文件传输:

在第一次备份时,会提示用户输入 ssh 连接的用户名和密码:

记住密码以后就不用再输密码了,把密码保存到系统的文件中,给文件读取也加个密码:

然后就开始备份了:

在局域网中备份速度会很快。以后再备份就不需要输密码了。

设置自动备份

对于备份操作来说,最好是让它能够周期性的自动执行,备份工具在 Scheduling 界面中提供了非常简单的设置方式:

其中的备份频率可以设置为每周一次或每天一次。备份的文件可以永远保存,也可以只保留最近一年的或者是最近半年的,这样可以节省些存储空间。

注意:
没有使用 cron 进行定时执行。它在用户登录的时候启动一个监视程序,该程序跟踪上一次成功备份的时间,并将等待执行下一次计划的备份。监视程序根据用户设置的备份规则(每天一次或每周一次等),准确地确定下一次执行计划的备份是在什么时候。目前是不支持指定一个固定的时间执行备份操作,比如:在周四凌晨4点。简单点说,用户不登录系统是不会执行备份的。因为备份工具的主要目的是用来备份用户数据,所以这个缺点也不是什么大事。

执行还原

备份的目的是在需要的时刻执行还原操作,使用备份工具可以很方便的把数据恢复到某次备份的时刻。在 Overview 界面点击 Restore 按钮开始数据恢复操作:

选择备份的位置,点击 Forward 按钮。然后备份工具能够从指定的位置分析出备份的时间点:

选择一个时间点的备份,点击 Forward 按钮:

默认会覆盖现有文件,也可以选择恢复到一个指定的目录中,这里选择默认值,点击 Forward 按钮,然后点 Restore 按钮开始恢复操作。

注意:
恢复操作只会恢复备份时的文件,并不会删除备份后新添加的那些文件。

获取帮助

打开备份工具,按 F1 可以打开备份工具的帮助文档:

幕后英雄 duplicity

备份工具主要是提供了备份操作的 UI,让我们使用起来很方便,其实后台真正执行备份和恢复操作的是一个叫 duplicity 的命令行工具。笔者会在后续的文章中介绍 duplicity 的用法。

参考:
Déjà Dup Backup Tool
How to Back Up Ubuntu desktop with default backup tool
Déjà Dup - Ubuntu desktop default backup tool
How to Back Up and Migrate Your Linux Configuration Files
duplicity

Ubuntu Desktop: 备份与还原的更多相关文章

  1. 入门系列之在Ubuntu 14.04上备份,还原和迁移MongoDB数据库

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 MongoDB是最受欢迎的NoSQL数据库引擎之一.它以可扩展,强大,可靠和易于使用而闻名.在本文中,我们 ...

  2. Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原。

    Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原. 数据卷就是数据(一个文件或者文件夹). Docker的理念之一是将应用与其运行的环境打包,docker容器的生命周 ...

  3. docker 数据卷和docker数据卷容器以及数据卷的备份和还原

    一:数据卷 1.什么是数据卷 数据卷是通过特殊设计的目录,可以绕过联合文件系统,为一个或者多个容器提供服务,数据卷是在docker宿主机当中,数据卷可以是文件也可以是文件夹. 2.特点 1.数据卷在容 ...

  4. gitlab 安装、备份与还原及常见设置

    gitlab 安装.备份与还原及常见设置 安装 安装过程比较简单,跑在 docker 上,执行命令即可 -v参数后面的值为卷的名称,自动创建数据卷(如果数据卷不存在) https://docs.git ...

  5. Mysql性能优化三(分表、增量备份、还原)

    接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...

  6. sqlserver多文件组数据库的备份和还原实战

    数据库文件过大时就要进行数据分区,就是讲数据库拆分到多个文件组中.已方便数据文件管理,提高数据库的读取效能,多文件组如何进行数据库的备份和还原呢,今天主要做多文件组数据库的备份和还原实验. 第一步 创 ...

  7. 关于mysql数据库的备份和还原

    在搭建网站的过程中常遇到文件的备份与还原,以备下次再使用 备份: 图中蓝色画线处为备份命令,wordpress为要备份的数据库名,.">"可将结果输出到文件中,/opt/wo ...

  8. sqlserver日志的备份与还原

    ----------完整备份与还原----------                --完整备份数据库--backup database studb to disk='e:\stu.bak'back ...

  9. php 数据库备份、还原

    1. mydb.php //DB类 2. backup.php //备份脚本 3. restore.php //还原脚本 mydb.php <? class db{ var $linkid; v ...

随机推荐

  1. matlab练习程序(局部加权线性回归)

    通常我们使用的最小二乘都需要预先设定一个模型,然后通过最小二乘方法解出模型的系数. 而大多数情况是我们是不知道这个模型的,比如这篇博客中z=ax^2+by^2+cxy+dx+ey+f 这样的模型. 局 ...

  2. HandyEditor 富文本编辑器整合到python flask项目中

    1.下载HandyEditor,地址http://he.catfish-cms.com/ 2.解压后的文件名HandyEditor-master改为HandyEditor,文件夹里的文件如下 3.将H ...

  3. ORACLE Index Lookup索引访问路径总结

    在ORACLE中,索引访问/查找(Index Lookup)路径有五种方式,分别为INDEX UNIQUE SCAN.INDEX RANGE SCAN.INDEX FULL SCAN.INDEX FA ...

  4. 数据库之mysql篇(6)—— mysql常用函数函数/自定义函数

    常用函数 运算函数 我相信你都能看懂,所以以上的不再做过多解释 然后还有个,前面漏掉的between and: 意指10是否在0到20之间,如果是返回1,否则返回0 日期函数 这个要稍微注意一下参数, ...

  5. Android 模块构建错误不能下载依赖包

    在模块的build.gradle里面添加了 implementation 'com.android.support:design:26.1.0' 构建的时候一直报这个错 Unable to resol ...

  6. 通过http上下文判断是否是Ajax请求

    using System; namespace System.Web.Mvc { /// <summary>Represents a class that extends the < ...

  7. 关于cisco日志的配置

    实例: en conf t clock timezone GMT+8  #设置北京时间 exit clock set HH:MM:SS DAY MONTH YEAR  #设置当前时间 service ...

  8. shell read变量的读入

    shell变量的输入: shell变量除了可以直接赋值或脚本传参外,还可以使用read命令从标准输入获取,read为bash内置命令,可以通过help read查看帮助. 语法格式: read [参数 ...

  9. AndroidStudio2.2.x以上使用cMake编译调用底层c生成依赖库

    最近使用AndroidStudio的最新ndk编译方式cMake来编译底层cpp文件,由于之前没有接触过cMake语法,先附上官方学习文档地址:https://developer.android.co ...

  10. Alpha阶段 - 博客链接合集

    Alpha阶段 - 博客链接合集 项目Github地址 安卓端(Stardust):https://github.com/StardustProject/Stardust 服务器端(Gravel):h ...