Linux环境下的备份

Linux系统管理员常常问的一个问题是:如何备份我的系统?对于windows系统来说,进行备份是很简单的工作(仅仅需要在菜单模式下点击鼠标就可以完成)。 Linux备份工作则要麻烦的多,若你不熟悉Linux系统文件和设备,情况则会变得更糟。该篇文章讨论了在Linux环境下保护数据的方法和相关的设备信息。

1、什么是备份?
最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据。一次备份可能是简单的cp命令,将一个文件复制到其他目录下,也可能是使用特定的程序将数据流写进一个特定的设备中的复杂过程。很多情况下是将要备份的数据写入到磁带机中,但有些情况也不是这样的。在Linux环境下,或其他Unix系统,备份可以是将文件拷贝到已存在的文件系统,可替换的文件系统,磁带机,远程文件系统,甚至是远程系统的上的磁带机。当然,从用户的角度来看,并不存在磁带机或ZIP驱动器的概念,而仅仅是文件而已。

2、应该选择哪一种备份设备?

市场上有很多自称是“完美的系统备份选择”的设备,包括磁带机,便携式磁盘驱动器,甚至有神秘的Internet备份系统。对于备份操作来说,磁带机提供了最可信的存储方式。为什么是磁带机呢?当然,Iomega公司的Jaz或Zip驱动器看上去是令人感兴趣的备份工具,但是它们易于在硬盘驱动器崩溃的情况下因为文件系统的原因而导致问题出现。对于Internet备份来说,当你因为系统崩溃而不能访问互联网时,就不能恢复系统的数据。同样,你能真正信任你的数据存放在别人的远程系统么?
因此,我们选择了磁带机,但是如何访问磁带机呢?正如文章前面提到的,在Linux系统中,在用户状态的角度来看,任何都可以被看做是文件。因此,可以“打开”合适的磁带驱动器文件来进行写入操作,将要备份的数据写入到文件中去。虽然这听上去过于简单了,但是实际情况就是这样。Linux环境下根文件系统的/dev目录包含了所有和物理设备关联的文件。当对这些文件进行操作,实际上是在操作下层的物理设备。下面的表格说明了Linux环境下设备文件是如何和物理设备关联起来的:
设备(Device) 回卷(Rewinding) 不回卷(No-Rewind)
1st SCSI tape drive /dev/st0 /dev/nst0
2nd SCSI tape drive /dev/st1 /dev/nst1
nth SCSI tape drive /dev/st[n-1] /dev/nst[n-1]
1st ATAPI tape drive /dev/ht0 /dev/nht0
2nd ATAPI tape drive /dev/ht1 /dev/nht1
nth ATAPI tape drive /dev/ht[n-1] /dev/nht[n-1]
1st floppy tape drive /dev/ft0 /dev/nft0
这正如在上表中看的那样,设备名是基于位于针对这种设备类型的分层结构的设备的逻辑数字,而不是其物理ID(SCSI)或者IDE通道(ATAPI)。因此,即使某个SCSI磁盘机被分配为SCSI设备的ID4,如果它是SCSI链的第一个磁带设备,则它将是 /dev/st0, 而不是/dev/st4,这种命名惯例有利于跟踪系统中的磁带设备,甚至在拥有多个驱动类型的磁带设备。同样,在2.0.X内核下,只支持单个ATAPI设备,2.2版本的内核可以使用多个ATAPI驱动(ht0, ht1,...)。

(0)

相关推荐

  • Linux环境下的备份

    Linux系统管理员常常问的一个问题是:如何备份我的系统?对于windows系统来说,进行备份是很简单的工作(仅仅需要在菜单模式下点击鼠标就可以完成). Linux备份工作则要麻烦的多,若你不熟悉Linux系统文件和设备,情况则会变得更糟.该篇文章讨论了在Linux环境下保护数据的方法和相关的设备信息. 1.什么是备份? 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的cp命令,将一个文件复制到其他目录

  • Linux环境下使用XFS文件系统

    XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮.所幸的是SGI将其移植到了Lin ux系统中.在linux环境下.目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下. 一.XFS文件系统简介 主要特性包括以下几点: 数据完全性 采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了.不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁

  • linux环境下安装mysql8.0过程介绍

    目录 前言 一.linux更改yum源(如果MYSQL安装慢可以试) 二.版本 三.安装 四.查看临时密码 五.配置外网可以访问 六.测试 七. 数据库卸载 八. 问题 总结 前言 借助同事写得笔记和自己在配置过程中遇到的坑,做一下记录. 一.linux更改yum源(如果MYSQL安装慢可以试) 简介:因为是官方yum,可能会导致安装比较慢,我们切换到国内的源. 第一步:进入yum配置文件目录 cd /etc/yum.repos.d/ 第二步:备份配置文件(如果后续出现了问题就可以恢复): mv

  • Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为止mysql仍然是免费开源,可以直接在官网下载,大家可以自行访问官网去下载, 网址是:https://www.mysql.com/downloads/ ,当然下载前大家需要先去注册一个Oracle账户,然后选择社区免费版进行下载. 三.安装依赖包以及cmake编译工具 yum install -y

  • 浅谈Linux环境下gcc优化级别

    代码优化可以说是一个非常复杂而又非常重要的问题,以笔者多年的linux c开发经验来说优化通常分为两个方面,一是人为优化,也就是基于编程经验采用更简易的数据结构函数等来降低编译器负担,二是采用系统自带的优化模式,也就是gcc - o系列,下面我将简述一下各级优化的过程以及实现. gcc - o1 首先o1上面还有一个o0,那个是不提供任何优化,项目中几乎不会使用,而o1使用就非常广泛了,o1是最基本的优化,主要对代码的分支,表达式,常量来进行优化,编译器会在较短的时间下将代码变得更加短小,这样体

  • Linux环境下nodejs的安装图文教程

    1.在官网下载nodejs,选择左边的. 2.选择文件右击点击extract here进行解压 3.进入bin目录,右击选择properties,解压文件可以随意放在系统里一个位置.复制location里的路径 4.添加路径 进入.bashrc文件,在末尾处添加步骤三的location里的路径. 6.在终端输入source .bashrc按回车键,再输出路径:echo $PATH检查路径是否已经添加成功 7.检测是否安装nodejs成功.在js文件目录下点击右键,再点击open in termi

  • Linux环境下python2.7.6升级python3.5.2

    需求 Linux环境下有些是自带的Python2版本有时是刚安装号的Python其他版本,当新版本出来的时候,在开发的时候往往会选择新版本的软件进行安装. 原因 在开发的时候选用新版本的软件进行安装的时候,出于以下角度来考虑的. 老版本的一些第三方软件库会随着新版本软件的更新,老本版所支持的第三方库就没有人去维护和更新了,后面在使用的过程中,如果出现了bug,就会花很大的精力去解决. 步骤 基于上面的要求,我将生产虚机上的ython2.7.6升级python3.5.2,主要步骤如下所示: 去py

  • Linux环境下php实现给网站截图的方法

    本文实例讲述了Linux环境下php实现给网站截图的方法.分享给大家供大家参考,具体如下: 第一步:下载wkhtmltopdf 复制代码 代码如下: [root@iZ94aawoublZ ~]# wget http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz 第二步:解压 复制代码 代码如下: [root@iZ94aawoublZ ~]# xz -d wkhtmlto

  • Linux环境下段错误的产生原因及调试方法小结

    最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的"段错误"(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个

  • PHPExcel在linux环境下导出报500错误的解决方法

    原先我导出为 XLSX 格式,用的是 $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel2007'); 报错,纠结就纠结在,在开发环境和测试环境都没问题,放在生产环境直接 500 错误. 后来我改成导出 XLS 格式, $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5'); 问题解决了,具体为什么待有空了研究下!!! 以上这篇PHPExcel在linux环境下导出报

随机推荐