备份管理

备份管理

第一节系统备份的意义

第二节备份的策略

第三节备份的基本命令

第四节本地与远程备份的应用

第一节系统备份的意义

一、数据失效

二、系统备份的意义

一、数据失效

随着网络技术的发展,越来越多的企业使用计算机系统处理日常业务。随着计算机的能力不断提高,数据量也在不断膨胀。随着网络信息量的日益膨胀,数据失效的问题越来越严重。

数据失效分为两类:物理损坏和逻辑损坏。当发生物理损坏时,系统中的数据彻底无法使用。常见的物理损坏包括:电源故障、存储设备故障、网络设备故障、操作系统故障和自然灾害。当发生逻辑损坏时,被损坏的数据仍可以部分使用,但数据间的关系是错误的。常见的逻辑损坏包括:数据不完整、数据不一致、数据逻辑关系错误和数据错误。由于逻辑损坏不易被发现,潜伏期长,当发现数据有错误时可能已经无法挽回。因此,数据的逻辑损坏比物理损坏更严重,也是造成数据失效的主要原因。

二、系统备份的意义

要防止数据失效的发生,有多种途径。如:加强建筑物安全措施、提高员工操作水平、购买品质优良的设备等。但最根本的方法还是建立完善的备份制度。

备份的意义是在另一个地方制作一套后备系统。这套后备系统或者是与现有系统一模一样,或者是能够替代现有系统的功能。当应用系统的一个完整环境因灾难性事件遭到破坏时,为了迅速恢复应用系统的数据、环境,立即恢复应用系统的运行,保证系统的可用性,这就需要备份系统(也称容灾系统)。

系统备份不同于普通的数据备份,它不仅备份系统中的数据,还备份系统中安装的应用程序、数据库系统、用户设置、系统参数等信息,以便迅速恢复整个系统。一个完整的系统备份方案,应包括:备份硬件、备份软件、日常备份制度和灾难恢复措施四个部分。选择了备份硬件和软件后,还需要根据自身情况制定日常备份制度和灾难恢复措施,并由管理人员切实执行备份制度。

第二节备份的策略

一、备份介质

二、备份方式

三、备份周期

四、备份层次

五、备份类型

六、备份策略

一、备份介质

1. 硬盘介质存储

2. 光学介质备份

3. 磁带存储技术

1. 硬盘介质存储

它主要包括两种存储技术,即内部的磁盘机制(硬盘)和外部系统(磁盘阵列等)。在速度方面硬盘无疑是存取速度最快的,因此它是备份实时存储和快速读取数据最理想的介质。但是,与其它存储技术相比硬盘存储所需费用是极其昂贵的。因此在大容量数据备份方面,我们所讲的备份只是作为后备数据的保存,并不需要实时的数据存储,不能只考虑存取的速度而不考虑到投入的成本。所以,硬盘存储更适合容量小的系统。采用硬盘作为备份的介质并不是大容量数据备份最佳的选择。

2. 光学介质备份

主要包括cd-rom、worm、可擦写光盘等。光学存储设备具有可持久地存储和便于携带数据等特点。与硬盘备份相比较,光盘提供了比较经济的存储解决方案,但是它们的访问时间比硬盘要长2到6倍(访问速度是受光头重量的影响),并且容量相对较小,备份大容量数据时,所需数量极大,虽保存的持久性较长,但相对整体可靠性要低。所以,光学介质的存储更适合于数据的永久性归档和小容量数据的备份。采用光学材料作为备份的介质也并不是大容量数据备份最佳的选择。

3. 磁带存储技术

磁带存储技术是一种安全的、可靠的、易使用和相对投资较小的备份方式。磁带和光碟一样是易于转移的,但单体容量却是光碟成百上千倍。在绝大多数的系统下都可以使用,也允许用户在无人干涉的情况下进行备份与管理。磁带备份的容量要设计得与系统容量相匹配,自动加载磁带机设备对于扩大容量和实现磁带转换是非常有效的。在磁带读取速度没有快到像光盘和硬盘一样时,它可以在相对比较短的时间内(典型是在夜间自动备份)备份大容量的数据,并可十分简单的对原有系统进行恢复。磁带备份包括硬件介质和软件管理,目前它是用电子方法存储大容量数据最经济的方法。磁带系统提供了广泛的备份方案,并且它允许备份系统按用户数据的增长而随时的扩容。因此,它是备份大量后台非实时处理的数据的最佳备份方案。

总之,选择备份介质要根据自己系统的实际需求出发,并留有良好的升级、扩容的余地,在合理的投入内,使我们的宝贵数据做到万无一失。

二、备份方式

1. 完全备份(Full Backup)

2. 增量备份 (Incremental Backup)

3. 差量备份(Differential Backup)

4. 合成完全备份

1. 完全备份(Full Backup)

完全备份是指对整个服务器系统进行备份,包括服务器操作系统和应用程序生成的数据。

优点:备份的数据最全面、最完整。恢复快,当发生数据丢失的灾难时,只要用一盘磁带就可以恢复全部的数据。

缺点:数据量非常大,占用备份的磁带设备比较多,备份时间比较长。

2. 增量备份 (Incremental Backup)

增量备份指每次备份的数据只是相当于上一次备份后增加和修改过的数据。

优点:备份速度快,没有重复的备份数据,节省磁带空间,又缩短了备份时间。

缺点:恢复时间长。如果系统在星期四的早晨发生故障,管理员需要找出从星期一到星期三的备份磁带进行系统恢复。各磁带间的关系就像链子一样,一环套一环,其中任何一盘磁带出了问题,都会导致整条链子脱节。

3. 差量备份(Differential Backup)

差量备份就是每次备份的数据是相对于上一次完全备份之后新增加和修改过的数据。管理员先在星期一进行一次系统完全备份,然后在接下来的几天里,将当天所有与星期一不同的数据备份到磁带上。

优点:恢复过程比较容易并且通常比完全备份或增量备份的时间更短。完全的恢复只需要最近一次的完全备份和最近一次的差量备份即可完成。

缺点:每天的备份在逐渐增大,因此耗费的时间比增量备份长。

4. 合成完全备份

增量备份可以减少备份时间,有效地利用处理器资源和备份I/O带宽,而完全备份在恢复上有很大的优势。现在一些企业备份管理软件提供了一个折衷的办法:将一个基本完全备份和几个增量备份合成为一个较新的“完全备份”。合成的完全备份是通过整合完全备份和增量备份的内容,随后写入不同的介质生成新备份。这个新的合成完全备份成为以后增量备份的基准。

合成完全备份从物理资源(磁带、磁带驱动器和带宽)和时间来看消耗很大,但是简化了恢复过程。

三、备份周期

1. 周循环

2. 日循环

3. 月循环

4. GFS循环

1. 周循环

每周开始完成依次完全备份,在随后的每天进行增量备份。这样包含备份数据的磁带相对较少,恢复相对简单。

优点:便于理解使用,完全备份可以选择在周五晚上,如果需要可以延长至周末,当有特殊情况发生时(如假日周末等)也容易进行调整。

缺点:如果系统在循环的第六天发生灾难,恢复时间较长,而且如果这六天有磁带发生错误,将可能丢失这六天所有数据。

2. 日循环

每天都使用不同的磁带进行完全备份。

优点:减少灾难性的数据丢失,恢复简单快速。

缺点:备份窗口过长,需要更多的管理时间,一般很少采用。

3. 月循环

每个月的开始或结束做一次完全备份,在这个月的其余时间里每天做增量备份或差量备份。

采用月循环时,完全备份后的每天做差量备份,这样做数据恢复时,仅需要两盘磁带,即每月的完全备份磁带和最后的每天的差量备份磁带。

4. GFS循环

GFS(grandfather, father, son)循环是上述三种循环模型的组合。每个月的开始或最后一个周末进行完全备份,完全备份写入每月的磁带。每月中各个周末执行完全备份,完全备份写入每周的磁带。每周中各天执行增量或差量备份,写入每天的磁带。

每周的磁带可以用一个月,每月的磁带可以用任意时间,这样可以相对较快地恢复到任意一天,它很容易适合于各种不同的数据保护需求。

四、备份层次

1. 硬件级

2. 软件级

3. 人工级

1. 硬件级

硬件级的备份是指,如磁盘镜像、双机容错等用冗余的硬件来保证系统的连续运行。可有效防止硬件故障对系统的影响,但无法防止数据的逻辑损坏,如人为误操作、病毒、数据错误等。据有关统计,计算机系中80%以上的错误属于人为误操作。当逻辑错误发生时,硬件备份只会将错误复制一遍,无法真正保护数据。硬件备份的作用实际上是保证系统在出现故障时能够连续运行。

2. 软件级

软件级的备份是通过某种备份软件将系统数据保存到其他介质上,当系统出现错误时可以再通过软件将系统恢复到备份时的状态。由于这种备份是由软件来完成的,所以称为软件备份。当然,这种方法备份和恢复都要花费一定时间。但这种方法可以完全防止逻辑错误,因为备份介质和计算机系统是分开的,错误不会复写到介质上。这就意味着,只要保存足够长时间的历史数据,就一定能够恢复正确的数据。

3. 人工级

人工级的备份是最原始和烦琐的,但也是最有效的。如果每个操作都有文字记录,不愁恢复不了数据。但如果要从头恢复数据,耗费的时间恐怕相当相当长。因此,全部数据都用手工方式恢复是不可取的。

在实际使用中,通常采用在硬件容错的基础上,软件备份和手工方式相结合的备份。

五、备份类型

1. 本机备份

2. 网络备份

3. LAN-Free

4. Server-Less

1. 本机备份

传统的数据备份结构,在这种结构中,备份设备直接连接在服务器上,而且只为该服务器提供数据备份服务。大多数情况下,这种备份方式是采用服务器上自带的备份设备,而备份操作往往也是通过手工操作的方式进行的。

2. 网络备份

基于LAN的备份,在局域网上同时运行“备份控制命令”和“备份数据流”的备份系统。在该系统中通常会配置一台服务器作为备份服务器,由它负责整个系统的备份操作。备份设备则连接在某台服务器上,在数据备份时备份对象把数据通过网络传输到备份设备中实现备份。常用的网络备份方式有:远程镜像、快照技术、SAN和NAS。

2. 网络备份

(1)远程镜像

(2)快照技术

(3)SAN

(4)NAS

(1)远程镜像-1

远程镜像技术是在主数据中心和备援中心之间的数据备份时用到。镜像是在两个或多个磁盘或磁盘子系统上产生同一个数据的镜像视图的信息存储过程,一个叫主镜像系统,另一个叫从镜像系统。按主从镜像存储系统所处的位置可分为本地镜像和远程镜像。远程镜像又叫远程复制,是容灾备份的核心技术,同时也是保持远程数据同步和实现灾难恢复的基础。远程镜像按请求镜像的主机是否需要远程镜像站点的确认信息,又可分为同步远程镜像和异步远程镜像。

同步远程镜像(同步复制技术)是指通过远程镜像软件,将本地数据以完全同步的方式复制到异地,每一本地的I/O事务均需等待远程复制的完成确认信息,方予以释放。同步镜像使远程拷贝总能与本地机要求复制的内容相匹配。当主站点出现故障时,用户的应用程序切换到备份的替代站点后,被镜像的远程副本可以保证业务继续执行而没有数据的丢失。但它存在往返传播造成延时较长的缺点,只限于在相对较近的距离上应用。

(1)远程镜像-2

异步远程镜像(异步复制技术)保证在更新远程存储视图前完成向本地存储系统的基本I/O操作,而由本地存储系统提供给请求镜像主机的I/O操作完成确认信息。远程的数据复制是以后台同步的方式进行的,这使本地系统性能受到的影响很小,传输距离长(可达1000公里以上),对网络带宽要求小。但是,许多远程的从属存储子系统的写没有得到确认,当某种因素造成数据传输失败,可能出现数据一致性问题。为了解决这个问题,目前大多采用延迟复制的技术(本地数据复制均在后台日志区进行),即在确保本地数据完好无损后进行远程数据更新。

(2)快照技术

远程镜像技术往往同快照技术结合起来实现远程备份,即通过镜像把数据备份到远程存储系统中,再用快照技术把远程存储系统中的信息备份到远程的磁带库、光盘库中。

快照是通过软件对要备份的磁盘子系统的数据快速扫描,建立一个要备份数据的快照逻辑单元号LUN和快照cache。在快速扫描时,把备份过程中即将要修改的数据块同时快速拷贝到快照cache中。快照LUN是一组指针,它指向快照cache和磁盘子系统中不变的数据块(在备份过程中)。在正常业务进行的同时,利用快照LUN实现对原数据的一个完全的备份。它可使用户在正常业务不受影响的情况下(主要指容灾备份系统),实时提取当前在线业务数据。其备份窗口接近于零,可大大增加系统业务的连续性,为实现系统真正的7×24运转提供了保证。

(3)SAN

SAN英文全称:Storage Area Network,即存储区域网络。它是一种通过光纤集线器、光纤路由器、光纤交换机等连接设备将磁盘阵列、磁带等存储设备与相关服务器连接起来的高速专用子网。

早期的主数据中心和备援数据中心之间的数据备份,主要是基于SAN的远程镜像,即通过光纤通道FC,把两个SAN连接起来,进行远程镜像。当灾难发生时,由备援数据中心替代主数据中心保证系统工作的连续性。这种远程容灾备份方式存在一些缺陷,如:实现成本高、设备的互操作性差、跨越的地理距离短(10公里)等,这些因素阻碍了它的进一步推广和应用。

目前,出现了多种基于IP的SAN的远程数据容灾备份技术。它们是利用基于IP的SAN的互连协议,将主数据中心SAN中的信息通过现有的TCP/IP网络,远程复制到备援中心SAN中。当备援中心存储的数据量过大时,可利用快照技术将其备份到磁带库或光盘库中。这种基于IP的SAN的远程容灾备份,可以跨越LAN、MAN和WAN,成本低、可扩展性好,具有广阔的发展前景。

(4)NAS

NAS是英文“Network Attached Storage”的缩写,中文意思是“网络附加存储”。按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”或者“网络磁盘阵列”。

NAS是一种专业的网络文件存储及文件备份设备,它是基于LAN(局域网)的,按照TCP/IP协议进行通信,以文件的I/O(输入/输出)方式进行数据传输。在LAN环境下,NAS已经完全可以实现异构平台之间的数据级共享,比如NT、UNIX等平台的共享。

一个NAS系统包括处理器,文件服务管理模块和多个硬盘驱动器(用于数据的存储)。 NAS 可以应用在任何的网络环境当中。主服务器和客户端可以非常方便地在NAS上存取任意格式的文件,包括SMB格式(Windows)NFS格式(Unix, Linux)和CIFS(Common Internet File System)格式等等。

3. LAN-Free

LAN-free,是建立在SAN的基础上的,它采用一种全新的体系结构,将存储设备各自作为独立的网络节点,多台主机共享存储设备时,数据不经过局域网而直接从一台存储设备传输到另一台存储设备里,即用户只需将磁带机或磁带库等备份设备连接到SAN中,各服务器就可把需要备份的数据直接发送到共享的备份设备上,不必再经过局域网链路。由于服务器到共享存储设备的大量数据传输是通过SAN网络进行的,局域网只承担各服务器之间的通信,而不是数据传输的任务。

但是,LAN-free技术也存在明显不足。首先,它仍旧让服务器参与了将备份数据从一个存储设备转移到另一个存储设备的过程,在一定程度上占用了宝贵的CPU处理时间和服务器内存。还有一个问题是,LAN-free技术的恢复能力差强人意,它非常依赖用户的应用。

4. Server-Less

为了解决LAN-Free备份方式中对应用服务器性能的影响,在备份过程中对应用服务器无影响的备份方式。另外一种减少对系统资源消耗的办法是采用无服务器(Server less)备份技术。它是LAN-free的一种延伸,可使数据能够在SAN结构中的两个存储设备之间直接传输,通常是在磁盘阵列和磁带库之间。这种方案的主要优点之一是不需要在服务器中缓存数据,显著减少对主机CPU的占用,提高操作系统工作效率,帮助企业完成更多的工作。

六、备份策略

设置备份策略和计划可以增加进行备份的可能性。备份开始前,要确定备份哪些数据、备份的周期和使用什么样的介质进行备份,以及确保正确地设置了备份设备。备份的时候,应该进行完整备份。

在进行备份时,应根据不同的系统选择不同的备份策略。就备份而言,Linux文件系统较Windows系统有很大的优势。在Windows系统中,注册表与系统密切相关。由于Windows系统在配置和安装软件时不仅仅将文件放到系统上,这就导致在还原系统时需要有能够处理Windows这种特性的软件,给Windows系统的备份和还原增加了难度。在Linux中,配置文件是基于文本的,除了直接处理硬件以外,配置文件在很大程度上是与系统无关的,同时内核也与系统无关。因此,Linux 备份主要处理的是文件的打包和解包,不需要处理操作系统如何安装到系统和硬件上的复杂细节。

六、备份策略

1. Linux系统备份时间

2. Linux系统备份周期和备份内容

1. Linux系统备份时间

备份通常安排在空闲时间进行。在大多数系统中,由于空闲时间用户数量最少,所以打开的文件也最少。由于备份要占用一些系统资源,运行备份时用户会发现系统反应迟钝。

2. Linux系统备份周期和备份内容

如果Linux系统只有一个使用者,可以一个星期或一个月对整个系统备份一次。如果有关键性的文件,就应该有计划地把这些文件备份到相应的备份介质中。

如果运行Linux服务器,就要制定一个备份计划,但这并不意味着每天要对所有的东西都备份。系统中只有一部分东西需要每天备份,一般情况下,Linux系统备份需要备份以下这些目录:

/etc:包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。

/var:包含系统守护进程和系统日志文件等信息。

/home:包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和其他信息。

/root:是根(root)用户的主目录。

/opt:是安装许多非系统文件的目录。

另外,有些目录是应该考虑不备份的。

/proc:应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。它包括诸如/proc/kcore这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。

/dev:包含硬件设备的文件。如果计划还原到一个空白的系统,那就可以备份/dev。然而,如果计划还原到一个已安装的Linux系统,那么备份/dev是没有必要的。

其他目录包含系统文件和已安装的包。在服务器环境中,这其中的许多信息都不是自定义的。大多数自定义都发生在/etc和/home目录中。出于完整性的考虑,可以一起进行备份。

第三节备份的基本命令

一、tar程序和数据备份

二、cpio程序和数据备份

三、dump程序和数据备份

四、cp程序和数据备份

一、tar程序和数据备份

tar工具是以前备份文件的可靠方法,几乎可以工作于任何环境中。Linux中以.tar结尾的文件都是用tar创建的。它的使用超出了单纯的备份,可用来把许多不同文件放到一起组成一个易于分开的文件。tar是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。使用tar可以打包整个目录树,这使得它特别适合用于备份。归档文件可以全部还原,或从中展开单独的文件和目录。备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向,以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)上。tar是与文件系统无关的,它可以使用在ext2、ext3、jfs、reiser和其他文件系统上。

一、tar程序和数据备份

1. tar命令格式

2. tar命令实例

3. compress和gzip压缩命令格式

4. compress和gzip命令实例

5.使用tar命令的z或Z选项实现归档和压缩一步完成

1. tar命令格式

1. 命令格式

备份:tar <选项> <-cf 备份文件或设备> <备份路径>

恢复:tar <选项> <-xf 备份文件或设备> [-C 恢复路径]

2. 常用命令选项

-M:分卷处理。

-p:保留权限。

-T filename:指定备份文件列表。

-N DATE:备份指定日期之后修改的文件。

-z:用GNU的gzip压缩文件或解压。

-Z:用compress压缩文件或解压。

-j:用bzip2压缩文件或解压。

2. tar命令实例

例1. 跨越多张软盘备份系统/usr/local下的所有内容,同时进行写入校验:

# tar -cWMf /dev/fd0 /usr/local

例2. 备份/目录下自04/11/2006改过的文件到磁带设备/dev/st0中:

# tar -cvf /dev/st0 -N 04/11/2006

例3. 保持文件权限备份/目录(不包括/proc)到磁带设备/dev/st0中:

# tar -cpf /dev/st0 / --exclude=/proc

例4. 恢复备份到/:

# tar -xpf /dev/st0 -C /

例5. 从备份文件恢复指定的文件/etc/passwd:

# tar -xpf /dev/st0 /etc/passwd

例6. 做一个完全备份:

# tar -zcvf /backup/bp_full.tar.gz /

例7. 实际上,tar命令更常用的办法是用来给文件归档。但也可以使用tar命令将目录压缩为文件,例如:

$ tar cvf mydata.tar mydata

将把mydata子目录中的所有文件打包成mydata.tar文件,然后你可以考虑如何处理这个文件。要展开这个文件,使用命令:

$ tar xvf mydata.tar

3. compress和gzip压缩命令格式

在系统管理和备份的过程中,常需要使用压缩程序以节省备份的磁盘空间,可以使用gzip和compress程序完成。具体做法是先使用tar命令将文件打包,然后用gzip或者compress命令对tar文件进行压缩或解压缩。compress和gzip命令格式如下:

1. 命令格式

compress [<选项>] [文件]

uncompress [ <选项> ] [文件]

gzip [<选项>] [<压缩|解压缩>] [文件]

2. 常用选项

4. compress和gzip命令实例

例8. 使用compress命令将当前目录下的book.tar文件压缩为book.tar.Z,而book.tar文件则被删除。

$compress book.tar

$ls -l book.*

-rw-r--r-- 1 root root 34919679 Mar 22 18:18 book.tar.Z

例9. 展开压缩后的文件,使用uncompress命令:

$uncompress book.tar.Z

$ls -l book*

-rw-r--r-- 1 root root 75735040 Mar 22 18:18 book.tar

uncompress命令将.Z文件解压,并且删除.Z文件。

例10. 使用gzip命令将当前目录下的book.tar文件压缩为book.tar.gz,而book.tar文件则被删除。

$ gzip book.tar

例11. 展开压缩后的文件,使用gzip -d命令或是gunzip命令。

$ gzip –d book.tar.gz

5.使用tar命令的z或Z选项实现归档和压缩一步完成

直接使用tar的z选项或是Z选项,可以在归档的同时完成压缩。

例12. 使用Z选项进行归档和压缩

使用Z选项在进行归档和压缩时,实际是调用了GNU的compress程序对tar文件进行压缩和解压。

例如:要归档和压缩html目录中的内容。

(1)首先,查看html目录是否存在:

$ ls -l | grep html

drwxr-xr-x 17 775 531 4096 Mar 10 09:19 html

(2)然后,用tar命令进行压缩:

$ tar Zcvf book.tar.Z html

该命令等价于首先用tar命令归档,然后用compress命令进行压缩。

(3)使用ls命令查看压缩结果,可以看到html目录已经被压缩:

$ ls -l book*

-rw-r--r-- 1 root root 34919679 Mar 22 18:30 book.tar.Z

(4)要展开刚刚压缩的文件,可以使用tar Zxvf命令一次完成:

$ tar Zxvf book.tar.Z

例13. 使用z选项进行归档和压缩

使用z选项在进行归档和压缩时,实际是调用了GNU的gzip程序对tar文件进行压缩和解压。

仍以归档和压缩html目录中的内容为例,这次通过tar zcvf命令完成。

(1)用tar命令进行压缩:

$ tar zcvf book.tar.gz html

该命令等价于首先用tar命令归档,然后用gzip命令进行压缩。

(2)要展开刚刚压缩的文件,可以使用tar zxvf命令一次完成:

$ tar zxvf book.tgz

二、cpio程序和数据备份

GNU cpio工具像tar一样从命令提示行启动程序。与tar相比cpio更复杂,但是也更为可靠。因为如果一个tar文件中某处有一个坏块,就不能对备份文件的其它部分进行访问,而使用cpio,只有坏块不能被访问。cpio创建一个称为copy-out mode的备份,备份存档中包含了文件和所有者、时间及访问许可等信息。cpio需要一个假定要备份的文件列表。创建列表的一个最方便的方法就是使用ls命令。

二、cpio程序和数据备份

1. cpio命令格式

2. cpio命令实例

1. cpio命令格式

1. 命令格式

cpio <选项> <磁盘>

2. 常用选项

-o:从标准输入得到文件路径名,并把文件送到标准输出。

-i:从标准输入文档中读取数据并产生磁盘文件。

-p:从标准输入中得到路径名并拷贝到指定目录。

2. cpio命令实例

例14. 拷贝当前目录中所有文件到磁带设备 /dev/rmt0:

# find . | /usr/sysv/bin/cpio -oc &gt;/dev/rmt0

例15. 从cpio归档中只抽取一个常规文件中的文件列表:

#cat ar | /usr/sysv/bin/cpio -i -E Efile

例16. 把/home目录备份到SCSI磁带设备中:

#ls /home | cpio -o &gt; /dev/st0

例17. 将当前目录下面的所有txt文档用cpio合并成一个documents文件,执行命令如下:

$ ls *.txt | cpio -o &gt; documents

使用参数-i可以展开这个文件,命令如下:

$ cpio –i < documents

需要注意的是,cpio会自动检查文件的日期,假如在备份中发现文件的日期比归档文件中的旧或者新,它会自动跳过对应的文件。在恢复时也类似。由此实现自动增量备份。

例18. 备份整个文件系统/home,并将所有文件备份到home_filesys_backup文件中。用find和cpio的管道实现,命令如下:

#find /home | cpio –o > home_filesys_backup

例19. 恢复备份文件中的部分文件。只恢复名字为*.txt,使用下列命令:

#echo '*.txt' | cpio –o < my_backupfile

通过组合find,grep和cpio命令可以建立出良好的增量备份系统。

例20. 还可以对cpio的备份进行计划,用crontab工具设置成基于任何时间的有规律地备份。例如,要在每天凌晨2点把/ home目录备份到SCSI磁带驱动器中,把下面的语句添加到root的crontab文件中即可: 0 2 * * * ls /home | cpio -o > /dev/st0

三、dump程序和数据备份

dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。dump 可以执行类似tar的功能。然而,dump倾向于考虑文件系统而不是个别的文件。dump检查ext2文件系统上的文件,并确定哪些文件需要备份。这些文件将出于安全保护而被复制到给定的磁盘、磁带或其他存储媒体上,大于输出媒体容量的转储将被划分到多个卷。在大多数媒体上,容量是通过一直写入直至返回一个end-of-media标记来确定的。

三、dump程序和数据备份

1. dump命令格式

2. dump命令实例

1. dump命令格式

1. 命令格式

dump [-cnu][-0123456789][-b <区块大小>][-B <区块数目>][-d <密度>][-f <设备名称>][-h <层级>][-s <磁带长度>][-T <日期>][目录或文件系统] 或 dump [-wW]

2. 常用选项:

-0123456789:备份的层级。

-b<区块大小>:指定区块的大小,单位为KB。

-B<区块数目>:指定备份卷册的区块数目。

-c:修改备份磁带预设的密度与容量。

-d<密度>:设置磁带的密度。单位为BPI。

-f<设备名称>:指定备份设备。

-h<层级>:当备份层级等于或大雨指定的层级时,将不备份用户标示为“nodump”的文件。

-n:当备份工作需要管理员介入时,向所有"operator"群组中的使用者发出通知。

-s<磁带长度>:备份磁带的长度,单位为英尺。

-T<日期>:指定开始备份的时间与日期。

-u:备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等。

-w:与-W类似,但仅显示需要备份的文件。

-W:显示需要备份的文件及其最后一次备份的层级,时间与日期。

2. dump命令实例

例21. 执行一个完全Linux备份,把所有ext2和ext3文件系统备份到一个SCSI磁带设备。

#dump 0f /dev/nst0 /boot

#dump 0f /dev/nst0 /

说明:在这个例子中,系统中有两个文件系统。一个用于/boot,另一个用于/,这是常见的配置。它们必须在执行备份时单独地引用。/dev/nst0引用第一个SCSI磁带驱动器,不过是以非重绕的模式引用。这样确保各个卷在磁带上一个接一个地排列。dump 的一个有趣特性是其内置的增量备份功能。在上面的例子中,0表示0级或基本级备份。这是完全系统备份,您要定期执行以保存整个系统。对于后续的备份,您可以使用其他数字(1-9)来代替0,以改变备份级别。1级备份会保存自从执行0级备份以来更改过的所有文件。2 级备份会保存自从执行1级备份以来更改过的所有文件,以此类推。使用 tar 和脚本可以执行相同的功能,但要求脚本创建人员提供一种机制来确定上次备份是何时执行的。dump具有它自己的机制,即它在执行备份时会输出一个更新文件(/etc/dumpupdates)。这个更新文件将在每次执行0级备份时被重设。后续级别的备份会保留它们的标记,直至执行另一次0级备份。如果您在执行基于磁带的备份,dump会自动跟踪多个卷。

例22. 使用restore命令进行恢复

配合dump的程序是restore,它用于从转储映像还原文件。restore命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。

例如:从磁带备份中提取/etc目录,可使用以下命令:#restore -xf /dev/nst0 /etc。

四、cp程序和数据备份

命令cp是copy的缩写,用于复制文件和目录。标准的cp命令可用于复制整个目录树。该选项将对非标准的文件执行未知的操作。有些UNIX变种和GNU cp工具支持-R选项,使用该选项可以正确地复制命名管道、链接和其他的文件。

四、cp程序和数据备份

cp命令格式

cp命令实例

cp命令格式

1. 命令格式

cp [<选项>] <源文件或目录> <目的文件或目录>

2. 常用选项

-a:将指定目录下的所有目录包括子目录陆续地复制到目标目录中。

-i:当目标文件存在时,系统提示用户确认拷贝是否继续。

-f:系统不给提示直接拷贝。

注:在没有任何选项的情况下,系统默认不要求确认。

-r:拷贝指定目录中的文件和子目录。

cp命令实例

例23. 将dir1下的所有目录包括子目录陆续地复制到dir2中。

# cp -a dir1 dir2

例24. 将一个目录中的内容复制到一个已有的目录中。

# cp -r /home/mc/* /export/home/mc

第四节本地与远程备份的应用

一、使用tar进行本机备份

二、使用rsync进行远程镜像备份

一、使用tar进行本机备份

Linux系统通常使用tar命令进行本机备份。

1. 实例说明

现有一台WWW服务器,该服务器主要存放网站信息和相关数据库文件,需要每月对网站进行一次完全备份,每周对服务器进行一次差量备份。

2. 操作步骤

(1)首先我们要确定需要备份的数据有哪些。

在本例中,需要备份的内容包括数据库和网站数据,数据库位于/var/lib/mysql/目录;网站位于/www/目录。

(2)需要确定将数据备份在哪里。

在系统中应该挑选一个空间较大的分区进行数据备份,在本例中选择/var目录进行备份。

(3)创建备份目录。

确定好备份分区后,需要创建一个备份目录专门用于备份网站数据和数据库信息。

#cd /var

#mkdir backup

#cd /var/backup

一、使用tar进行本机备份

(4)进行完全备份

在备份时,建议每次备份以当前日期进行命名。`date +%y%m%d`表示取系统当前日期。``为后引号,mysql`date +%y%m%d`log.tar.gz整体为一个文件:mysql080428log.tar.gz。

tar -czvf mysql`date +%y%m%d`log.tar.gz /var/lib/mysql

tar -czvf www`date +%y%m%d`log.tar.gz /www

这个命令的意思是,在当前目录下生成两个备份文件mysql080428log.tar.gz和,备份的内容是/var/lib/mysql目录和/www目录下的所有内容。

(5)进行差量备份

在下一次完全备份前针对2008年4月28日的完全备份进行差量备份(如每周一次):

tar -czvf www`date +%y%m%d`log.tar.gz /www --newer 20080428

“--newer <日期时间>”参数表示将较指定日期更新的文件保存到备份文件里。在进行“差量备份”后,如果需要恢复数据,应该是先恢复完全备份,再将最近的一次更新备份覆盖完全备份。

(6)自动进行备份

可以将备份命令写到crontab文件中,设定其在系统空闲时自动执行备份。

例如:设定每月1号凌晨零点零分执行完全备份,使用crontab -e 编辑crontab文件,文件格式如下:

0 0 1 * * tar -czvf mysql`date +%y%m%d`log.tar.gz /var/lib/mysql

0 0 1 * * tar -czvf www`date +%y%m%d`log.tar.gz /www

二、使用rsync进行远程镜像备份

1. rsync介绍

2. rsync工作原理

3.安装和配置rsync

4. rsync实例

5. 用rsync实现Windows系统和Linux系统之间的文件备份

1.rsync介绍

rsync是Linux系统下的数据备份/镜像工具,它是一款很小却非常出色且易于设置、功能强大的实用工具,可以拷贝文件到远程主机,也可以从远程主机拷贝文件,用来备份整个文件系统或文件系统的某个目录,也可以用来向其它机器分发文件。rsync支持大多数的Linux系统,无论是Linux、Solaris,还是BSD,都经过了良好的测试。

ssh rsync的工作过程不同于脚本化的FTP会话和其它形式的文件传输脚本,它在对文件进行备份/镜像时,只传输文件集中被更改的部分,而不是整个文件集。这使得更新速度更快,特别是通过慢速的网络接连进行传输时表现尤为明显。而FTP总是传输整个文件集,即使文件只更改了一个字节。rsync在传输文件时可以对文件进行压缩,然后在网络上进行快速传输,这进一步缩短了传输时间,降低了网络负载。如果需要考虑安全问题,rsync数据流还可以通过ssh协议进行传输。

2. rsync工作原理

要使用rsync进行文件备份和镜像操作,需要在进行备份操作的源机器(称为rsync服务器)和目标机器(称为rsync客户端)上都安装rsync。在服务器和客户端安装rsync的方法和过程是完成一样的。接下来,在服务器机器上使rsync以deamon模式运行,并在rsync服务器上设置一个称为rsyncd.conf的配置文件,该配置文件位于/etc目录下。配置文件用来控制认证、访问、日志等。之后,其它任何一台安装了rsync的客户端机器都可以同步数据到运行rsync deamon的机器或从运行rsync deamon的机器同步。同步操作包括进行备份、镜像文件系统、分发文件或进行类似的操作。

3.安装和配置rsync

(1) 获取rsync软件

(2) 安装rsync软件

(3)系统配置

(4)运行rsync

(1) 获取rsync软件

通常Linux操作系统安装成功后,系统默认已安装了rsync软件,不需要再进行安装。如果需要安装最新版本的rsync可以从http://rsync.samba.org/网站下载,目前最新的版本是rsync-3.0.2,对应的软件包为rsync-3.0.2.tar.gz。

(2) 安装rsync软件

安装rsync软件需要经过解压缩、安装和编译几个步骤完成,具体如下:

(1)执行下面的tar命令解压rsync-3.0.2.tar.gz软件包。

#tar -zxvf rsync-3.0.2.tar.gz

命令执行后自动生成rsync-3.0.2目录。

(2)安装编译rsync软件包

#cd rsync-3.0.2

#./configure

#make

#make install

(3) 系统配置

(1)rsync启动文件

rsync软件的启动文件为rsync,在rsync-3.0.2目录中。由于Linux系统的启动文件通常存放在/usr/bin目录下,因此将rsync启动文件拷贝到/usr/bin目录下。

# cp rsync /usr/bin/

(2)rsync服务

将rsync服务及其对应的端口号添加到/etc/services文件中,具体写法如下:

rsync 873/tcp

rsync 873/udp

(3) 系统配置

(3)配置文件rsyncd.conf

对于rsync服务器来说,最重要和复杂的就是它的配置文件了。rsync服务器的配置文件为rsyncd.conf,安装编译完成后,在/usr/local/rsync-3.0.2/testtmp/daemon/目录下,需要手动将其拷贝到/etc目录下。rsyncd.conf文件用于控制rsync服务器的认证、访问、日志等。该文件是由一个或多个模块结构组成。一个模块定义以方括弧中的模块名开始,直到下一个模块定义开始或者文件结束,模块中包含格式为name=value的参数定义。每个模块其实就对应需要备份的一个目录树。配置文件是以行为单位的,也就是每个新行都表示一个新的注释、模块定义或者参数赋值。下面是一个样例配置文件:

motd file = /etc/rsyncd.motd

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

[simple_path_name]

path = /rsync_files_here

comment = My rsync Server

uid = nobody

gid = nobody

readonly = no

list = yes

auth users = username

secrets file = /etc/rsyncd.scrt

第一至四行指定运行在deamon模式的rsync使用的文件和文件名。第一个是"message of the day"(motd)文件,这个文件的内容会在客户端连接时显示,用于显示欢迎、警告或其它消息。下一行是用于记录有关诊断和运行时信息的日志文件。PID文件用于保存rsync deamon运行时的进程ID。锁文件用于确保rsync deamon能够平稳运行。对于rsync,这些选项是全局的。余下的内容则定义了一个[simple_path_name]模块,其中大部分选项也可以定义成全局的。

(4) 运行rsync

在安装、配置之后,可以启动rsync进程了。rsync进程有两种运行模式:独立进程和父进程。如果使用独立进程的模式,直接在#提示符下输入rsync --daemon。如果用父进程的模式,编辑/etc/inetd.conf文件,在文件中加入以下内容。运行后在进程中可以看到rsync –daemon进程。

rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon

4. rsync实例

1. 实例说明

设有两台机器,名字分别为www和backup,IP分别为192.168.1.9和192.168.1.10,需要将www上的log目录和www目录下的所有内容备份到backup的Backup目录下。

2. 操作步骤

(1)在www和backup上都安装rsync,安装过程参见4.1.1.3。

(2)在www上创建配置文件/etc/rsyncd.conf,内容如下:

uid = nobody

gid = nobody

use chroot = no

max connections = 4

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/log/rsyncd.log

[www]

path = /www

comment = Backup www site

ignore errors

readonly = true

list = false

auth users = rsyncuser

hostsallow = 192.168.1.10

secrets file = /etc/rsyncd.secrets

[log]

path = /var/log

comment = Backup system log

ignore errors

readonly = true

list = false

auth users = rsyncuser

hostsallow = 192.168.1.10

secrets file = /etc/rsyncd.secrets

4. rsync实例

(3)在www上创建/etc/rsyncd.secrets文件,具体如下:

#vi /etc/rsyncd.secrets

rsyncuser:123456

这里定义了[www]、[log]两个模块,分别对应于两个需要备份的目录树。这里只允许计算机backup(IP为 192.168.1.10)备份www服务器中的数据,并且需要认证。两个模块授权的备份用户都为rsyncuser,并且用户信息保存在文件/etc/rsyncd.secrets中。

(4)设置/etc/rsyncd.secrets文件权限

#chmod 600 /etc/rsyncd.secrets

(5)在www上以deamon模式运行rsync

#rsync --deamon

(6)在backup上可以通过如下命令实现www目录的备份

#/usr/local/bin/rsync -vzrtopg -delete --progess rsyncuser@192.168.1.9::www /backup/www/ -- password-file=/etc/rsync. secrets

其用同样的方法可以备份log目录。

(7)在backup上自动执行备份

可以将rsync命令写到crontab文件中,设定其在系统空闲时自动执行远程镜像备份。

例如:设定每天凌晨零点零分执行远程镜像备份,使用crontab -e 编辑crontab文件,文件格式如下:

0 0 * * * /usr/local/bin/rsync -vzrtopg -delete --progess rsyncuser@192.168.1.9::www /backup/www/ -- password-file=/etc/rsync. secrets

5. 用rsync实现Windows系统和Linux系统之间的文件备份

利用rsync也可以实现Windows系统和Linux系统之间的文件备份,但在Windows系统需要下载安装cwrsync工具,之后其它的操作和Linux下的操作是完全一样的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值