Linux中文件的备份与恢复

这篇具有很好参考价值的文章主要介绍了Linux中文件的备份与恢复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.数据备份简介

1.Linux服务器中哪些数据需要备份

1)Linux系统重要数据

/root/目录:/root目录是管理员的家目录

/home/目录:/home目录是普通用户家目录,如果是生产环境的服务器,这个目录中也会保存大量的重要数据,应该备份。

/etc/目录:系统重要的配置文件保存目录。

2)安装服务的数据

我们这里拿最常见的apache服务和mysql服务举例:

apache需要备份如下内容:

配置文件:RPM包安装了apache,需要备份/etc/httpd/conf/httpd.conf。源码包安装的apache则备份 /usr/local/apache2/conf/httpd.conf。

网页主目录:RPM包安装的apache需要备份/var/www/html/目录中所有数据。源码包安装的apache需要备份 /usr/local/apache2/htdocs/目录中所有数据。

日志文件:RPM包安装的apache需要备份/var/log/httpd/目录中所有日志。源码包安装的apache需要备份 /usr/local/apache2/logs/目录中所有日志。

2备份策略

2.1完全备份

完全备份就是指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录。完全备份的好处就是数据恢复方便,因为所有的数据都在同一个备份中,所以只要恢复完全备份,所有的数据就会被恢复。如果完全备份的是整块硬盘,那么甚至都不需要数据恢复,只要把备份硬盘安装上,服务器就会恢复正常。可是完全备份的缺点也很明显,那就是需要备份的数据量较大,备份时间较长,占用的空间较多,所以完全备份不可能每天执行。我们一般会对关键的服务器进行整盘完全备份,如果出现问题,可以很快的使用备份硬盘进行替换,从而减少损失。甚至会对关键服务器搭设一台一模一样的服务器,这样只要远程几个命令(或使用shell脚本自动检测,自动进行服务器替换。)备份服务器就会解体原本的服务器,使我们的故障响应时间缩短为最短。

2.2增量备份

完全备份随着数据量的加大,备份耗费的时间和占用的空间会越来越多,所以完全备份不会也不能每天进行。这时增量备份的作用就体现出来了。增量备份是指先进行一次完全备份,服务器运行一段时间之后,比较当前系统和完全备份数据之间的差异,只备份有差异的数据而已。服务器继续运行,再经过一段时间运行之后,进行第二次增量备份,第二次增量备份时,当前系统是和第一次增量备份的数据进行比较,也是只备份有差异的数据。而第三次增量备份是和第二次增量备份的数据进行比较,以此类推。

Linux中文件的备份与恢复

2.3差异备份

差异备份也要先进行依次完全备份,但是和增量备份不同的地方是,每次差异备份都是备份和原始的完全备份不同的数据,也就是说差异备份每次备份的参照物是原始的完全备份,而不是上一次的差异备份。

Linux中文件的备份与恢复

3.备份工具dd

命令格式:dd if=“输入文件” of=“输出文件” bs=“数据块” count=“数量”

参数:

if:定义输入数据的文件,也可以是输入设备。

of:定义输出数据的文件,也可以是输出设备。

bs:指定数据块的大小,也就是定义一次性读取或写入多少字节。默认数据块大小是512字节。

count:指定bs的数量。

1)只备份文件:dd if=/etc/httpd/conf/httpd.conf of=/tmp/httpd.bak

2)备份分区为一个文件:dd if=/dev/sda1 of=/tmp/boot.bak

#如果需要进行恢复,执行此命令即可:dd if=/tmp/boot.bak of=/dev/sda1

3)备份分区到另一个新分区:dd if=/dev/sda1 of=/dev/sdb1

#如果需要恢复,只要把输入项和输出项反过来即可

4)整盘备份:dd if=/dev/sda of=/dev/sdb

注:dd备份缺点,就是复制的时间比较长

网络复制工具,如rsync和scp等

4.xfs文件系统的备份与恢复原理及实战

xfs文件系统支持备份功能,使用xfsdump命令和xfsrestore可以完成备份与恢复。xfsdump实现了针对文件系统进行备份的功能centos7中默认选用的文件系统xfs。

XFS文件系统备份:

xfs文件系统的备份不光通过xfsdump可以进行完整备份。而且还可以进行增量备份。

XFSdump使用注意事项:

xfsdump不支持对没有挂载的文件系统进行备份,需要备份请挂载之后备份。

xfsdump必须使用root身份才能够有权限执行。

xfsdump只能备份xfs文件系统。

xfsdump备份过的数据只能被xfsrestore解析。

xfsdump默认只支持备份文件系统,并不支持特定某个目录的备份。

xfsdump是通过文件系统的UUID来辨别各个备份文件,因此不能备份两个具有相同UUID的文件系统(UUID重复的概率 无限接近于0,可以忽略不记)。

xfsdump:对xfs文件系统进行备份。

选项:

-L:xfsdump会记录每次备份的说明标签。

-M:指定存储媒介的说明标签。

-l:指定备份的级别(0-9),0级别是完整备份。1-9是增量备份。

-f:指定转储的目的地。转储的目的地可以是路径设备、常规文件等。

-I:从/var/lib/xfsdump/inventory列出目前备份的信息状态(没有备份过没有此路径)。

实验流程:

第一步:使用新的分区,格式化分区,并进行挂载

[root@localhost ~]# mkfs.xfs /dev/sdb1

[root@localhost ~]#mkdir /test  #创建挂载点

[root@localhost ~]#mount /dev/sdb1 /test  #挂载

准备备份测试文件

[root@localhost ~]# cd /test/

[root@localhost test]# cp /etc/passwd ./

[root@localhost test]# mkdir ./linux

[root@localhost test]# touch ./linux/a

[root@localhost test]# tree /test/

/test/

├── passwd

└── linux

└── a

第二步:备份

1、备份整个分区。 (这个功能就像是虚拟机的快照,服务器被黑后,进行快速恢复)

xfsdump -f 备份文件存放位置 被备份路径或设备文件

注意:被备份的路径可以写/dev/sdb1 或/test ,但是不能写成/test/ ,即 test后不能有/

[root@localhost test]# xfsdump -f /opt/dump_sdb1 /dev/sdb1

dump_sdb1 #指定备份标签.

2、指定备份时免交互操作,方便后期做定时备份

[root@localhost sdb1]# xfsdump -f /opt/dump_2 /test -L dump_2 -M sdb1

-L : #每次备份的 session 标签,这里写此次备份的描述

-M : #媒体标签,这里写对哪个设备进行备份

排错:

改:xfsdump -f /opt/dump_2 /test/ -L dump_2 -M sdb1

为:xfsdump -f /opt/dump_2 /test -L dump_2 -M sdb1 #test后,不要有/

3、指定只备份分区中某个目录

参数:-s 文件路径 只对指定的文件进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)例:对/test/xuegod 目录进行备份

[root@localhost opt]# xfsdump -f /opt/dump_linux -s linux /test -L

dump_linux -M sdb1

4、查看备份信息与内容

备份成功后,我们就可以在/var/lib/xfsdump/inventory目录下看到生成的档案信息

[root@localhost opt]# xfsdump -I(字母大写i)

测试恢复:先删除之前创建的内容

[root@localhost opt]# cd /test/

[root@localhost test]# ls

passwd linux

[root@localhost sdb1]# rm -rf ./*

第三步:文件系统恢复

格式:xfsrestore -f 指定恢复文件的位置 指定存放恢复后的文件的路径

[root@localhost opt]# xfsrestore -f /opt/dump_sdb1 /test/

[root@localhost ~]# ls /test/ #查看恢复情况

恢复单个文件如下:

[root@localhost test]# mkdir /tmp/test

[root@localhost test]# xfsrestore -f /opt/dump_sdb1 -s passwd /tmp/test/

#恢复单个文件

[root@localhost test]# xfsrestore -f /opt/dump_sdb1 -s linux /tmp/test/

#恢复目录

5.增量备份文件系统实战

(1)准备一个备份目录进行备份

[root@localhost test]# tree /test/

/test/

├── passwd

└── linux

└── a

(2)对上面的内容进行第一次全备

[root@localhost test]# xfsdump -f /opt/test-full /test -L test-full -M sdb1

(3)增加一些内容,然后进行第1次增量备份

[root@localhost test]# touch /test/1.txt /test/2.txt

[root@localhost test]# xfsdump -l 1 -f /opt/test-back1 /test -L test-bak1 -M sdb1

-l 做一个等级为1的备份

(4)再次增加内容,然后进行level 2级别的增量备

[root@localhost test]# touch /test/linux/a.txt /test/xuegod/b.txt

[root@localhost test]# xfsdump -l 2 -f /opt/test-back2 /test -L test-bak2 -M sdb1

[root@localhost ~]# rm -rf /test/*  #删除所有数据

现在进行恢复,要想恢复全部全部数据,包括新添加的文件,如何恢复?

实验步骤:

1、先恢复完全备份

2、情况1: 恢复最后一次增量备份(如果两次增量备份都是1级的,所以只需要恢复最后一个增量就可以了。

3、情况2:如果你做的是第一次是1级备份,第二次是2级备份。在恢复时,需要先恢复完全备份,然后是1级备,最后是2级备)

例:对做了完全备份,1级备份,2级备份的数据时行恢复文章来源地址https://www.toymoban.com/news/detail-459553.html

[root@localhost ~]# xfsrestore -f /opt/test-full /test/

[root@localhost ~]# xfsrestore -f /opt/test-back2 /test/ #故意先恢复back2,可以恢复成功,但是数据不全

[root@localhost ~]# tree /test/ #查看,发现没有1.txt ,2.txt

/sdb1/

├── passwd

└── test

├── a

├── a.txt

└── b.txt

[root@localhost ~]# xfsrestore -f /opt/test-back1 /test/

[root@localhost ~]# tree /test/ #到此,数据恢复成功了

/test/

├── 1.txt

├── 2.txt

├── passwd

└── xuegod

├── a

├── a.txt

└── b.txt

到了这里,关于Linux中文件的备份与恢复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小米数据恢复:有无备份从小米手机恢复删除数据方法

    如果您不小心删除了小米手机上的数据,后来发现您需要它,那么本文适合您。我将向您介绍一些最可靠的小米恢复方法,以将您的数据恢复到您的设备上。无论您是否有备份,都可以处理。让我们开始吧! 1.从小米云恢复已删除的数据 与大多数智能手机公司一样,小米也提

    2024年02月09日
    浏览(46)
  • MySQL 数据备份与恢复

    本次使用的MySQL版本为8.0.20 目录 一、数据备份 1.使用 MySQLdump 命令备份 (1)使用MySQLdump备份单个数据库中的所有表 案例:完成数据插入后,输入备份命令如下: (2)使用MySQLdump备份数据库中的某个表 案例:备份booksDB数据库中的books表,输入语句如下: (3)使用MySQLdump备

    2024年02月11日
    浏览(42)
  • MySQL数据备份与恢复

    备份的主要目的: 备份的主要目的是:灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 日志: MySQL 的日志默认保存位置为: ##配置文件 ##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的 ##二进制日志(binlog),用来记录所有更新了数据

    2024年02月11日
    浏览(44)
  • ES数据备份与恢复

    场景:ES线上的数据和服务迁移到另外的机器上去 老ES机器ip:172.16.0.1 新ES机器ip:172.16.0.2 一. 首先, 在备份之前要在es/config/elasticsearch.yml添加仓库配置: path.repo: [\\\"/mnt/backup/es_backup\\\"] 1. 2.重启ES 二. 在老机器上 3.创建备份仓库 在/mnt/backup下新建名为es_backup的仓库 POST /_snapsho

    2024年02月16日
    浏览(38)
  • ElasticSearch 数据备份与恢复

    以下为背景 Elasticsearch 7.6.2单点,8.3.3单点 Docker 部署 当前使用场景:部分index,数据量较大,需要在跨版本的ES之间进行迁移 一、前提说明 1. Elasticsearch备份 2. 备份恢复方案 二、Elasticsearch 环境准备 1.查看Elasticsearch所有版本 2.部署2个Elasticsearch单点服务 三、数据备份 1. 增加

    2024年02月10日
    浏览(39)
  • Raid5阵列数据恢复+Openmediavault配置内网与外网远程访问+服务器到服务器的大量文件转移备份

    1、OpenMediaVault,是一个开源的(免费)基于Debian Linux的下一代网络附加存储(NAS)解决方案。 2、易于使用的 WEB 管理界面:OpenMediaVault 的用户界面设计直观,即使是没有 Linux 经验的用户也能轻松上手。与其他流行的 NAS 解决方案相比,例如 FreeNAS(现更名为 TrueNAS CORE)和 Synol

    2024年03月15日
    浏览(52)
  • 06.Oracle数据备份与恢复

    01.CentOS7静默安装oracle11g 02.Oracle的启动过程 03.从简单的sql开始 04.Oracle的体系架构 05.Oracle数据库对象 06.Oracle数据备份与恢复 07.用户和权限管理 08.Oracle的表 09.Oracle表的分区 10.Oracle的同义词与序列 11.Oracle的视图 12.Oracle的索引 13.Oracle通过JDBC连接Java 14.Oracle中的事务 15.Oracle11g的

    2024年02月05日
    浏览(43)
  • Vault数据备份恢复-MySQL

    Vault提供了可靠的功能来保护数据库和其他关键数据。 对于MySQL数据库,Vault提供了一个易于使用的解决方案,可以自动创建和管理定期备份,并支持从备份中快速恢复数据。本文将介绍Vault后端存储MySQL的备份恢复,包括如何设置Vault、如何进行数据备份和还原、如何保护备份

    2024年02月14日
    浏览(38)
  • Elasticsearch 的数据备份和恢复

    1.1 Elasticsearch 数据备份 数据备份是一项重要的任务,用于保护数据免受意外数据丢失、硬件故障等不可预测的事件。 Elasticsearch 提供了一些机制来备份和恢复数据,以确保数据的可靠性和持久性。 1.2 Elasticsearch 数据恢复 数据恢复是指从备份中恢复数据并将其重新加载到 El

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包