0

0

六条Linux系统备份优化的应用与技巧

PHPz

PHPz

发布时间:2024-02-12 17:20:17

|

1151人浏览过

|

来源于良许Linux教程网

转载

当你转向使用linux时,你可能会注意到你所使用的linux版本会默认配备一个备份工具。然而,你可能会发现该工具并没有被正确配置来备份你系统中的所有重要部分。此外,使用该默认工具可能会导致备份数据量比预期更大,从而降低备份效率。本文将介绍一些替代方法,利用现有的存储空间对你的linux系统进行备份。

确保备份全面而恰到好处

Ubuntu桌面版的默认备份工具dejá-dup仅被设置为备份你的home目录,因此它忽略了你在需要将系统恢复到正常工作状态时所需的其他重要部分。让我们想象一下,你的系统由以下三个部分组成:

六条Linux系统备份优化的应用与技巧

那么,你就可以轻松地设置该默认工具来支持上述三个部分的所有内容了。但这样做的前提是你有大量的存储空间,或者可能会涉及到大量的数据通过互联网进行传输(如果你使用的是网络备份的话)。下面的一些应用和技巧就可以帮助你减少所需要的存储空间,并能确保你在系统崩溃发生时仍具有适当的备份。

1. 克隆分区以对Home目录予以快照

在你用户帐户的/home/[username]目录下会存储着一些数据,这些包括有你的个人配置,它们通常是一些以“点”开始的(例如/home/[username]/.local)文件或目录,以及音乐、图片和其他类型的文件与文件夹(例如,默认文档路径或下载文件夹)。这些就是你可能需要在备份数据时,以及对待“开箱即用”类工具所需要特别关注的地方。

你需要将/home目录放置到单独分区上的一个重要原因是:你可以将它从系统的主要部分中独立出来进行操作。同时,如果这样做了,你就可以通过克隆整个分区的方式去备份你的主目录。它也会在你需要的时候实现精确地磁盘级别的恢复。

正如我在过去的文章所提及到的,它有一个选项是dd,即完整地克隆整一个磁盘或分区(这就意味着备份的是相同大小全部分区)。当然,你也可以考虑使用Clonezilla。它在备份磁盘/分区的整体结构的同时,能省略掉未被使用到的磁盘空间,而使你的备份只是实际数据所占用到的分区大小。

2. 运用文件同步工具将Home目录的快照存储到多台机器上

文件同步工具是你打理个人文件的好选择,特别是当你使用着多台设备的时候。想必你能想出太多的此类工具的名称,其中包括简单的文件复制工具,如rsync;在线服务,如Dropbox;以及当地/点对点工具,如Resilio Sync等。其中的一些将会为你提供追踪和历史服务,尽管这些记录分钟级变化的特征会显得有些“吹毛求疵”且浪费存储空间。

六条Linux系统备份优化的应用与技巧

3. 使用归档工具来保留系统数据的历史快照

除了你的home目录之外,你可能还需要将如下部分计入你的备份清单:

  • /etc,它包含了各种配置,如/etc/apt/lists就描述性地罗列了在你的系统上新近安装的程序资源。
  • /var,它包含各种应用程序所使用的补充数据。此类例子包括各种日志(例如/var/log/dpkg,就记录着基于.deb系统的package事务)和缓存(例如/var/cache/dpkg,就保存着所有已安装package的副本),以及/var/lib/dpkg(用来存储package的数据库)。

标准的“归档式(archive-style)”备份工具也能够处理这些系统目录。它们通常会去检查源目录中的文件,以确定是否有该文件的最新备份存在,如果没有则创建并进行更新。它们可以保留多份副本(例如每日一份或是每周一份),并且在通常情况下会压缩这些副本以节省磁盘空间。此类工具有很多种,包括程序dejá-dup和backintime等。

不过,你可能需要用根(root)用户的身份去设置和运行此类备份作业,或是使用管理员(admin)的权限来使用该工具的内置功能。

六条Linux系统备份优化的应用与技巧

通过使用这些应用程序(下面以backintime为例),你就可以简单地将你所需的目录添加到一个新的或是现有的备份作业中了:

六条Linux系统备份优化的应用与技巧

通过适当地筛选这些目录备份,你可以将此举所节省的磁盘空间与典型的“全系统”备份比较一下,看看效果。你可以浏览如下链接以获取有关“/var的子目录中哪些是你可能需要的,而哪些则没有必要”的技巧。(https://unix.stackexchange.com/questions/1067/what-directories-do-i-need-to-back-up)

超级简历WonderCV
超级简历WonderCV

免费求职简历模版下载制作,应届生职场人必备简历制作神器

下载

4. 使用etckeeper来保留配置变更的记录

我们具体来说说/etc目录吧。工具etckeeper使用源代码级的控制来帮你备份系统中的重要配置。如果你想在Ubuntu中安装它,则需要

sudo apt-get install etckeeper

在安装过程中,它将创建一个备份(实际上是一个git的存储库),并将/etc下所有的文件都放入其中。

六条Linux系统备份优化的应用与技巧

在此之后,你就可以使用任何git的客户端来查看你的系统配置的历史版本。更重要的是,该软件还设置有一个cron作业,它可以每天将你配置的变更放入其中。另外,鉴于大多数配置文件都是以纯文本的形式创建的,而且由于git(和其他源代码控制系统)是以逐行递进的原则进行各种变更存储的,因此对于多个版本的存储,其容量仍然能够保持为相当小体积。

5. 使用aptik来备份各种配置和软件包

aptik程序在其友好的GUI界面上集成了大量的备份/恢复工具:

六条Linux系统备份优化的应用与技巧

它的“已安装软件(Installed Software)”功能将默认备份所有你已明确地安装了的软件包。下图是一个非常简短的示例列表:

六条Linux系统备份优化的应用与技巧

你也许会好奇:它为什么这么简短呢?这是因为在你需要使用该备份的时候,你显然已经安装了一个基本的系统,因此它并不需要那些基础的系统软件包。而如果你需要安装这几十个所列的包,那么它的软件包管理器则会自动帮你打理所有关联依赖包的安装事宜。可见,你的“完全软件备份”就只会消耗到那么几十兆字节的存储空间。够智能的吧?

6. 运用包列表来备份你的软件包

如果你熟悉命令行操作的话,你可能会做得比aptik更好。在确保能在稍后恢复你的系统的情况下,你试试如下命令。注意,该命令并非用来备份软包,而是录制一张包的列表。也就是说,以下命令会将安装包的列表导出到一个文本文件之中:

sudo dpkg --get-selections > my-packages.txt

除了能给你一张系统软件包的可供人阅读的统计之外(如上图所示),如下命令还可供你去批量重新安装这些软件包:

sudo dpkg - set-selections 
六条Linux系统备份优化的应用与技巧
sudo apt-get - u dselect-upgrade

注意,你仍然需要手工去处理那些你自行安装过的程序(它们很可能存放在/usr/local和/或 /opt)。除此之外,你过去的和刚恢复的系统之间的唯一区别就是各种软件是否需要手动去更新到最新版本了。而这些也只是多占用区区几千字节的磁盘空间而已。

记住:请不要拘泥于使用上述的某一个应用,你可以结合多种应用联合使用,以确保在最坏的情况发生时,你仍然可以快速地做到备份与恢复。

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

637

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

524

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

262

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

538

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

511

2024.04.09

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

333

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2068

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

346

2023.08.31

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

62

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.4万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号