news 2026/2/28 8:40:08

27、数据备份全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
27、数据备份全攻略

数据备份全攻略

1. 数据备份的重要性与需备份的数据类型

数据备份的重要性

数据备份对于每个计算机用户来说都至关重要。我们都可能在某些时候丢失过数据,比如文件损坏或意外删除。Unix开发者深知这些问题,因此开发了许多先进实用的备份工具,这些工具也被应用到了Linux系统中,让数据备份变得更加轻松。

需备份的数据类型

系统中的数据大致可分为三种类型:程序数据、配置数据和个人数据。传统观点认为备份所有类型的数据既低效又困难,因为这几乎意味着要备份整个硬盘。所以通常我们会选择备份配置数据和个人数据。原因是,如果电脑遭遇硬盘损坏的灾难,我们可以从CD/DVD轻松重新安装操作系统,而从备份中恢复系统只需确保配置文件归位,让应用程序按预期运行,同时保证个人数据可再次访问。

个人日常使用程序的配置数据和个人数据大多存储在/home文件夹中(不过系统级软件的配置文件存储在/etc文件夹)。刚安装好的系统中,/home目录看起来几乎是空的,但实际上大多数配置文件是隐藏的,它们的目录和文件名前有一个点(.),这使得Linux在标准目录列表中不会显示它们。

若要在Nautilus文件管理器中查看隐藏文件和文件夹,可选择“View” -> “Show Hidden Files”。在shell提示符下查看隐藏文件,只需在ls命令后加上-a选项:

ls -a

/home文件夹中的配置文件仅与当前用户账户相关,其他用户有独立的配置文件。这样,每个用户都能为各种应用设置自己的配置,并独立备份。

在Ubuntu系统下,可以使用Simple Backup Suite(SBackup)来备份配置数据和个人文件,该工具可从Ubuntu软件仓库下载。需要注意的是,将备份存档文件留在硬盘上意义不大,为获得全面的备份保护,应将存档存储在其他地方,如外部硬盘、网络挂载点或CD/DVD-ROM,可考虑使用GNOME CD/DVD Creator(在任何打开的Nautilus窗口菜单中点击“Go” -> “CD/DVD Creator”)。

2. 使用SBackup进行数据备份

SBackup简介

Simple Backup Suite(简称SBackup)是一系列程序,能快速轻松地进行文件备份和恢复。它可以备份个人数据和系统配置文件,并将备份文件存储在硬盘(或连接的网络挂载点),甚至可以存储在远程互联网位置,如FTP服务器。

安装SBackup

安装SBackup的步骤如下:
1. 打开Synaptic Package Manager(“System” -> “Administration”)。
2. 搜索sbackup
3. 在结果列表中点击其条目,标记为安装,然后点击“Apply”。
4. 注销并重新登录以更新系统菜单,之后可在“System” -> “Administration”菜单中找到SBackup的备份和恢复组件条目。

通过SBackup备份数据

配置备份

选择“System” -> “Administration” -> “Simple Backup Config”,会出现“Backup Properties”对话框。通过该对话框,可选择SBackup要备份的文件以及备份时间。

SBackup的工作模式

SBackup有三种工作模式,如下表所示:
| 模式 | 描述 |
| — | — |
| 推荐备份 | 操作简便的最佳选择。SBackup会每天备份/home文件夹以及/etc/usr/local/var中的重要系统数据,但会故意排除多媒体文件、临时文件以及超过100MB的文件。默认情况下,创建的备份文件会放在/var/backup。 |
| 自定义备份 | 与推荐备份基本相同,包含相同的文件包含和排除列表,但可以手动编辑设置。例如,可以选择包含MP3文件,而不是像推荐备份那样排除它们。还可以更改最终备份文件的保存位置和备份时间。 |
| 手动备份 | 实际上会停用SBackup的定期备份功能,但仍可以点击“Backup Now!”按钮,根据“Backup Properties”对话框其他选项卡的设置手动执行备份。 |

需要注意的是,SBackup每次运行时不会创建新的备份文件,而是创建增量备份,即仅更新自上次备份以来更改或创建的文件,未更新的文件保持不变。

包含备份作业中的文件和文件夹

如果选择自定义备份并能更改备份设置,点击“Include”选项卡可以指定要包含在备份中的目录和文件。只需点击“Add File”或“Add Directory”按钮,然后浏览到相关位置(添加目录时,需先点击打开它,再点击“Open”按钮)。

添加目录是递归的,这意味着该目录内的所有子目录也会被备份。因此,无需专门添加/home/<username>文件夹,因为整个/home文件夹默认包含在备份中,备份也会包含/home内其他用户的目录。

排除备份作业中的文件和文件夹

排除文件和文件夹有多种选择,点击“Exclude”选项卡,会在程序窗口左侧显示一组侧边选项卡,可按以下方式排除备份项:
-Paths:排除特定文件或文件夹,点击此侧边选项卡,操作与包含文件类似,点击“Add File”或“Add Directory”按钮,然后浏览到相关位置。
-File Types:排除特定类型的文件,点击此侧边选项卡,点击“Add”按钮后,可以从标准文件类型列表中选择或按文件扩展名过滤(如.mp3表示MP3文件,.zip表示压缩的Zip文件)。
-Regex:如果熟悉正则表达式,可以点击此侧边选项卡,使用正则表达式指定非常精确的规则。
-Max Size:此选项卡上指定大小以上的文件不会被备份。取消“不备份”行旁边的勾选可以停用此功能,但可能会导致备份文件过大。

更改备份文件的存储位置

默认情况下,SBackup创建的备份文件存储在/var/backup目录。点击“Destination”选项卡,可以选择将其保存在硬盘的其他位置。如果有网络挂载点,也可以选择将其保存到那里。

需要记住,将备份保留在硬盘上意义不大,应将其复制到可移动存储设备,如CD - R/RW光盘。还可以通过SSH文件传输或较旧的FTP标准将备份文件通过互联网传输,只需按以下格式输入协议、用户名、密码和URL:

ftp://username:password@myftpsite.com

无论使用SSH还是FTP,都要在地址前加上相应的协议。

更改备份时间间隔

点击“Time”选项卡可以设置备份频率,可以选择每小时、每天、每周或每月备份,也可以根据需要设置具体的备份时间。例如,可以设置每周二下午12:30进行备份,只需从“Do Backups”下拉列表中选择间隔周期,然后根据需要从“Day of Month”、“Day of Week”、“Hour”和“Minute”列表中选择。

还可以选择在一定天数(最多1000天)后执行完整备份。完整备份意味着SBackup会创建一个新的备份文件,而不是将新的或编辑过的文件追加到现有文件中。

通过SBackup恢复数据

如果需要从备份中恢复文件,可点击“System” -> “Administration” -> “Simple Backup Restore”。恢复步骤如下:
1. 点击“Available Backups”下拉列表,选择要从中恢复的备份文件。文件名包含备份的日期和时间,通常选择最新的文件(除非想恢复到文件的旧版本)。
2. 选择备份后,其包含的文件会显示在下方。每个目录左侧有一个小三角形,点击可展开目录查看内容。
3. 找到要恢复的文件或目录后,选中它们并点击“Restore”按钮。但要注意,这会将文件和目录重写到原始位置,同名的现有文件或目录将被覆盖。
4. 如果想将文件恢复到不同位置,点击“Restore As”按钮,然后选择一个文件夹。

需要注意的是,恢复的文件和目录由root用户拥有,因为SBackup以超级用户权限运行。因此,首先要使用sudo前缀的chown命令将文件的所有权和组更改回原来的状态。

3. 从命令行进行备份

tar程序简介

虽然SBackup让初学者能快速进行备份,但Linux老用户更喜欢使用tar程序。tar程序用于创建.tar文件,它是从Unix继承而来的原始工具。tar代表Tape ARchive,最初用于将数据备份到磁带备份设备。虽然tar文件专为备份设计,但也成为在互联网上传输文件(尤其是源文件或其他安装程序)的标准方法。

tar文件只是将多个文件捆绑在一起,默认情况下,tar文件不压缩,但可以使用其他软件进行压缩。与现代存档文件格式相比,tar文件并不复杂,例如它没有加密,但这也可能是它的优势之一。

Linux还有其他备份命令,如cpiopax,它们都试图在某些方面改进tar,但目前都没有得到广泛支持。cpio在Ubuntu下默认安装,pax可以通过Synaptic Package Manager找到,可查看它们的man页面获取更多详细信息。

创建tar文件

在控制台使用tar命令创建tar文件,通常只需指定源目录和文件名,示例如下:

tar -cf mybackup.tar /home/keir/

这将根据/home/keir/的内容创建一个名为mybackup.tar的备份。tar会自动递归处理,因此在这个例子中,它会深入到/home/keir下的所有子目录。-c命令选项告诉tar要创建一个存档,-f选项表示存档的文件名会紧跟其后。如果不使用-f选项,tar会将输出发送到标准输出,即在屏幕上显示存档的内容。

输入上述命令后,会看到如下消息:

Removing leading '/' from member names.

这意味着添加到存档中的文件夹和文件路径都会去掉初始的斜杠。例如,文件在存档中不会存储为/home/keir/Mail/file1,而是存储为home/keir/Mail/file1。这两种形式的区别在于文件从存档中提取时,如果文件路径有初始斜杠,tar会将文件写入/home/keir/Mail/file1,如果该位置已有同名文件,会被覆盖;而去掉初始斜杠后,tar会在选择恢复存档的位置创建一个新目录。

为避免因指定绝对路径而意外覆盖数据,更好的备份目录的方法是切换到其父目录并指定相对路径:

cd /home/ tar -cf mybackup.tar keir

恢复这个存档时,会在恢复位置简单地创建一个名为keir的新文件夹。

压缩tar存档

可以在tar中压缩存档,实际上它会根据指定调用bzip2gzip进行压缩。
使用bzip2压缩创建tar存档的命令如下:

tar -cjf mybackup.tar.bz2 keir

这将从keir目录创建一个压缩备份。-j命令选项将tar的输出传递给bzip2程序,这是在后台完成的。注意备份文件名的扩展名已更改,表明这是一个使用bzip2压缩的存档。

使用较旧的gzip压缩创建存档的命令如下:

tar -czf mybackup.tar.gz keir

这里使用-z命令选项将输出传递给gzip。文件名显示这是一个gzip压缩的存档,方便后续识别。

从tar存档中提取文件

使用tar提取文件和创建文件一样简单:

tar -xf mybackup.tar

-x选项告诉tarmybackup.tar存档中提取文件。

提取压缩存档只需在-x选项后添加-j-z选项:

tar -xjf mybackup.tar.bz2

查看tar存档信息

要在不实际恢复文件的情况下查看tar存档的内容,使用-t选项:

tar -tf mybackup.tar |less

此示例在末尾添加了一个管道到less,因为文件列表可能很长,会滚动出屏幕。如果tar存档也被压缩,只需添加-j-z选项。

此外,可以在创建、提取和查看存档的所有阶段添加-v选项以获取更多信息(主要是正在存档或提取的文件),输入-vv可获取更多详细信息:

tar -cvvf mybackup.tar keir

这将创建一个存档,并在添加文件和文件夹时显示完整的目录列表,包括权限信息。

将文件保存到CD - R/RW

创建tar文件后,需要考虑存储位置。将备份数据存储在与被备份数据相同的硬盘上是不明智的,因为硬盘出现的任何问题都可能影响到存档,导致两组数据都丢失。

如果存档小于700MB,可以将其存储在CD - R或CD - RW上。从命令行操作时,首先要将文件转换为ISO镜像,然后进行刻录。

将文件转换为ISO镜像,使用mkisofs命令:

mkisofs -o backup.iso mybackup.tar.bz2

然后使用cdrecord命令将ISO镜像刻录到CD。在使用之前,必须确定CD - R/RW驱动器的SCSI设备编号(所有CD - R/RW或DVD - R/RW驱动器都被视为SCSI设备,即使它们不是),使用以下命令(需要超级用户权限,因为cdrecord直接访问系统硬件):

sudo cdrecord -scanbus

会看到设备编号以三个用逗号分隔的数字列出。

刻录备份镜像,输入以下格式的命令:

sudo cdrecord dev=<dev number> speed=<speed of your drive> mybackup.iso

在典型系统中,可能如下所示:

sudo cdrecord dev=0,0,0 speed=24 mybackup.iso

总之,数据备份是保障数据安全的重要手段。我们可以通过SBackup工具轻松备份系统配置和个人数据,也可以使用tar命令在命令行进行各种数据的备份。同时,要合理选择备份文件的存储位置,确保数据的安全性和可恢复性。希望这些方法能帮助你更好地管理和保护数据。

4. 数据备份总结与后续思考

备份方法总结

备份方式优点缺点适用场景
SBackup操作简单,有多种备份模式可选,可图形化界面操作功能相对固定,灵活性不如命令行初学者或需要快速设置常规备份的用户
tar命令高度灵活,可自定义备份内容和压缩方式需要一定的命令行基础,操作相对复杂有经验的用户或需要精细控制备份过程的场景

备份流程回顾

下面通过一个 mermaid 流程图来回顾整个数据备份的流程:

graph LR classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px; classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px; A([开始]):::startend --> B{选择备份方式}:::decision B -->|SBackup| C(安装SBackup):::process B -->|tar命令| D(使用tar创建备份):::process C --> E(配置备份参数):::process E --> F(执行备份):::process D --> E1(指定源目录和文件名):::process E1 --> F1(创建tar文件):::process F1 --> G1(可选:压缩tar文件):::process F --> H(选择存储位置):::process G1 --> H H --> I([结束]):::startend

后续思考

在进行数据备份时,除了选择合适的备份工具和存储位置外,还需要考虑以下几点:
1.备份频率:根据数据的重要性和更新频率来确定备份的时间间隔。对于重要且频繁更新的数据,如财务数据、项目文档等,建议每天或更频繁地进行备份;对于更新较少的数据,如系统配置文件,可以每周或每月备份一次。
2.备份验证:定期验证备份文件的完整性和可用性,确保在需要恢复数据时能够正常使用。可以通过恢复少量数据进行测试,或者使用工具检查备份文件的结构和内容。
3.多版本备份:考虑保留多个版本的备份文件,以便在需要时可以恢复到不同时间点的数据状态。例如,可以每天进行一次增量备份,每周进行一次完整备份,并保留最近几周的备份文件。
4.数据安全:在传输和存储备份数据时,要注意数据的安全性。对于敏感数据,可以使用加密技术进行保护,避免数据泄露。同时,选择可靠的存储设备和存储位置,防止数据丢失或损坏。

常见问题解答

以下是一些在数据备份过程中常见的问题及解答:
1.:SBackup 备份的文件在哪里可以找到?
:默认情况下,SBackup 创建的备份文件存储在/var/backup目录。可以通过“Destination”选项卡更改存储位置。
2.:使用 tar 命令创建的备份文件如何恢复到指定位置?
:可以使用tar -xf mybackup.tar -C /path/to/destination命令将备份文件恢复到指定位置。
3.:如果备份文件损坏了怎么办?
:如果备份文件损坏,可以尝试使用备份工具提供的修复功能,或者从其他备份版本中恢复数据。如果所有备份文件都损坏,可能需要重新收集和整理数据。

总结

数据备份是保障计算机数据安全的重要措施。通过了解不同的备份方法和工具,如 SBackup 和 tar 命令,我们可以根据自己的需求和技术水平选择合适的备份方式。同时,要注意备份频率、备份验证、多版本备份和数据安全等方面的问题,确保备份数据的可靠性和可用性。希望本文介绍的内容能够帮助你更好地管理和保护自己的数据。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 12:04:04

OpenVLA实战指南:构建智能视觉语言控制系统的完整方案

OpenVLA实战指南&#xff1a;构建智能视觉语言控制系统的完整方案 【免费下载链接】openvla OpenVLA: An open-source vision-language-action model for robotic manipulation. 项目地址: https://gitcode.com/gh_mirrors/op/openvla 在人工智能与机器人技术深度融合的…

作者头像 李华
网站建设 2026/2/27 5:08:51

Java SpringBoot+Vue3+MyBatis 高校教师教研信息填报系统系统源码|前后端分离+MySQL数据库

摘要 随着高等教育信息化建设的不断深入&#xff0c;高校教师教研信息管理已成为提升教学质量和科研效率的关键环节。传统的信息填报方式依赖纸质文档或分散的电子表格&#xff0c;存在数据冗余、更新滞后、统计困难等问题&#xff0c;难以满足现代高校对教研数据实时性和准确性…

作者头像 李华
网站建设 2026/2/26 22:53:56

41、迁移 SQL Server 数据库到 Linux 系统的实用指南

迁移 SQL Server 数据库到 Linux 系统的实用指南 在将数据库迁移到 SQL Server on Linux 的过程中,评估实例或数据库的静态配置细节有助于使迁移更加顺利。不过,大多数用户也很关心迁移到新版本 SQL Server(如 Linux 上的 SQL Server 2017)时查询的性能。Database Experim…

作者头像 李华
网站建设 2026/2/25 8:39:29

43、SQL Server与pgsql的全面对比分析

SQL Server与pgsql的全面对比分析 1. 原生评分与SQL语言差异 原生评分 :pgsql支持使用Python编写服务器端代码(通过 CREATE FUNCTION )。而SQL Server 2017在Windows上支持内置的R和Python代码,但目前Linux版暂不支持。SQL Server有一个出色的特性——原生评分,它允许…

作者头像 李华
网站建设 2026/2/20 15:14:05

44、SQL Server 与 pgsql 对比及迁移指南

SQL Server 与 pgsql 对比及迁移指南 1. SQL Server 与 pgsql 的管理和监控特性对比 在管理和监控功能方面,SQL Server 相比 pgsql 有诸多优势,具体如下: | 功能 | SQL Server | pgsql | | — | — | — | | 自动页面修复 | 支持通过可用性组实现自动页面修复 | 流复制技…

作者头像 李华
网站建设 2026/2/25 23:11:32

48、SQL Server 技术全解析:从基础到未来展望

SQL Server 技术全解析:从基础到未来展望 1. 性能能力 性能是 SQL Server 的核心关注点之一,涉及多个方面的优化和配置。 1.1 加速性能 列存储索引 :具备批量模式执行、数据压缩和数据消除等优点,能显著提升性能。可使用 fact_sales_all.sql 、 fact_sales_count.s…

作者头像 李华