📄 0580backup.htm
字号:
例如 MySQL 资料库是否天天备份、若完全备份,需要多久进行一次?</li><br>
<li><span class=text_import1>备份使用的工具为何∶</span><br>
是 tar 还是 cpio 等等?</ol>
底下我们就来谈一谈这些问题的解决之道吧! ^_^<br><br>
</div>
<hr><a NAME="what_data_must_backup"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class=text_h1>哪些
Linux 资料具有备份的意义</span><br>
<div class=block1>
具有备份意义的档案通常可以粗分为两大类,<span class=text_import2>一类是系统、一类则是类似网路服务的资料</span>,
那么各有哪些档案需要备份的呢?我们就来稍微分析一下。<br><br>
<li><span class=text_import1>主机系统需要备份的档案∶</span></li>
<div class=block2>
这方面的档案主要跟『<span class=text_import2>帐号与系统设定档</span>』有关系!
主要有哪些帐号的档案需要备份呢?就是<span class=text_import2><font face="细明体">
/etc/passwd, /etc/shadow, /etc/group, /etc/gshadow, /home 底下的使用者家目录等等</font></span>,
而由于 Linux 预设的主机资讯设定参数档都在 /etc/ 底下,所以只要将这个档案备份下来的话,
那么几乎所有的设定档都会存在的!<br><br>
至于 /home 底下是每个人的家目录,自然也需要来备份一番!再来,由于使用者会有邮件吧!所以呢,这个
/var/spool/mail 内容也需要备份呦!另外,由于如果您曾经自行更动过核心,那么
/boot 里头的资讯也就很重要棉!所以棉,这方面的资料您必须要备份的档案为∶
<ul><span class=text_import2><font face="细明体">
<li>/etc/ 整个目录
<li>/home 整个目录
<li>/var/spool/mail
<li>/boot
<li>/root
<li>如果您自行安装过其他的套件,那么
/usr/local/ 或 /opt 也最好备份一下!</font></span></ul>
</div>
<li><span class=text_import1>网路服务的资料库方面∶</span></li>
<div class=block2>
这部份的资料可就多而且复杂了,如果您的网路套件设定都是以原厂提供的为主,那么您的设定档案大多是在
/etc 底下,所以这个就没啥大问题了!但是若您的套件大多来自于自行的安装,那么
/usr/local 这个目录可就相当的重要了!这里我们假设我们提供的服务套件都是使用原厂的
RPM 安装的!所以要备份的资料档案有∶
<ul><span class=text_import2><font face="细明体">
<li><b>资料设定档案</b>∶<br>
/etc/ 整个目录
/usr/local/ 整个目录</li><br>
<li><b>系统 www + MySQL</b>∶<br>
WWW 资料∶/var/www 整个目录或 /srv/www 整个目录,及系统的使用者家目录<br>
MySQL ∶ /var/lib/mysql 整个目录</li><br>
<li><b>其他你在 Linux 主机上面提供的资料库资料档案!</b></li></font></span></ul>
</div>
<li><span class=text_import1>推荐需要备份的目录∶</span></li>
<div class=block2>
由上面的介绍来看的话,那么如果您的硬体或者是由于经费的关系而无法全部的资料都予以备份时,
鸟哥建议您至少需要备份这些目录呦!
<ul><span class=text_import2><font face="细明体">
<li>/boot
<li>/etc
<li>/home
<li>/root
<li>/usr/local(或者是 /opt 及 /srv 等)
<li>/var(注∶这个目录当中有些暂存目录则可以不备份!)
</FONT></span></ul>
</div>
<li><span class=text_import1>不需要备份的目录∶</span></li>
<div class=block2>
有些资料是不需要备份的啦!例如我们在
<a href="0210filepermission.php">档案权限与目录配置</a>
里头提到的 /proc 这个目录是在记录目前系统上面正在跑的程序 ( processes
) ,这个资料根本就不需要记录的呢!所以就把他拿掉!此外,外挂的机器,例如
/mnt 或 /media 里面都是挂载了其他的硬碟装置、光碟机、软碟机等等,这些也不需要备份吧!?
所以棉!底下有些目录可以不需要备份啦!
<ul><span class=text_import2><font face="细明体">
<li>/dev ∶这个随便你要不要备份
<li>/proc∶这个真的不需要备份啦!
<li>/mnt ∶根据版本不同,有的是 /media 如果你没有在这个目录内放置你自己系统的东西,也不需要备份
<li>/tmp ∶干嘛存暂存档!不需要备份!
</font></span></ul>
</div>
</div>
<hr><a NAME="what_media"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class=text_h1>选择的备份装置</span><br>
<div class=block1>
在备份的时候,选择一个『<span class=text_import2>资料存放的地方</span>』也是很需要考虑的一个因素!
什么叫做资料存放的地方呢?讲个最简单的例子好了,我们知道说,较为大型的机器都会使用
tap 这一种磁带机来备份资料,而如果是一般个人电脑的话,很可能是使用类似
Mo 这一种可读写式光碟片来存取资料!但是您不要忘记了几个重要的因素,那就是万一您的
Linux 主机被偷了呢?这不是不可能的,我们隔壁校区的研究室曾经遭小偷,里面所有的电脑都被偷走了!包括『
Mo 片』,当他们发现的时候,一开始以为是硬体被偷走了,还好,他们都有习惯进行备份,但是很不幸的,这一次连『备份的
MO 都被拿走了!』怎么办?!只能道德劝说小偷先生能够良心发现的将硬碟拿回来棉!唉~真惨....<br><br>
这个时候,所谓的『<span class=text_import2>远端备援系统</span>』就显的相当的重要了!
什么是远端备援呀!说的太文言了!呵!简单的说,就是将你的系统资料『备份』到其他的地方去,
例如说我的机器在台南,但是我还有另一部机器在高雄老家,这样的话,我可以将台南机器上面重要的资料都给他定期的自动的
ftp 回去!也可以将家里重要的资料给他丢到台南来!这样的最大优点是可以在台南的机器死掉的时候,
即使是遭小偷,也可以有一个『万一』的备份所在!但是缺点是~~<span class=text_import2>频宽严重的不足</span>!
在这种状态下,所能采取的策略大概就是『<span class=text_import2>仅将最重要的资料给他
ftp 回去棉</span>!』至于一些只要系统从新安装就可以回复的咚咚!那就没有这个必要了!当然棉,如果你的网路是属于
T1 专线的话,那么完整备份将资料丢到另一地去,呵呵!也是很可行的啦!只是我没有那么好命....唉~穷人一个~<BR><BR>
在此同时,我们再来谈一谈,那么除了这个『<span class=text_import1>相对较为安全的备份</span>』方法之外,
毕竟这种网路备援系统实在是太耗频宽了!如果像我们一般家用的
ADSL 根本就是吃不消!那么怎么办!还有其他的方法吗?喔~那就只好使用近端的装置来备份棉!
这也是目前我们最常见到的备份方法!例如一般我们使用的
Tape, Mo, Zip, CD-RW, DVD-RW 还有备份用抽取式硬碟与携带式硬碟等等!
那么在选择上需要注意些什么呢?需要注意的地方有几点∶<br><br>
<li><span class=text_import1>速度要求</span>∶</li>
<div class=block2>
『备份』基本上在 Linux 主机上面也是蛮耗系统资源的!因为需要将系统的资料拷贝到其他装置上面去,这个时候
CPU 几乎是 loading 100%!您总不希望系统就这样给他挂点吧!?此外,有些系统的资料实在太多咯,
怎么样也备份不完!所以棉,越快的储存装置是越好的!如果您是个重视速度甚于一切的人,
那么我觉得抽取式硬碟是个不错的方式,只不过.....目前我知道的抽取式硬碟都需要冷开机才行,不太符合
Linux 主机 24 小时全年无休的状态....<BR><BR>
但是硬碟真的越来越大、越来越便宜了,不使用速度快的硬碟来备份实在很可惜~
加上目前的火线 (IEEE 1394) 以及 USB 2.0 外接式硬碟盒技术已经相当的成熟,
传输速度又快,又可以直接热拔插 (Plug and Play),接上 USB 硬碟,
整个复制一下,传输速度理论上可达 480Mbps (约 60 MBytes/second) ,快的哩!
复制完毕,又可以将硬碟带走,不需要与主机放置在一起,还可以避免同时被偷,真是不错。<br><br>
但是,硬碟还是有一定的困扰,那就是『不接电源的硬碟需要很好很好的保养』。
我们知道电脑最好的保养就是常常开机去运作一下,免得长期不开机,造成受潮而损坏。
这个携带式硬碟只是偶而才会连上主机来进行备份的资料,除非您额外购买一部防潮箱来放置硬碟,
否则很容易损坏ㄟ!所以,近年来速度越来越快的 DVD-RW
就变的很方便棉!至于 tap ,在速度上完全是落后的.....至于使用第二颗硬碟备份,类似
Raid, 或者是安装一颗备份的硬碟在 Linux 系统当中,这个方案也很好,
而且速度上绝对是最具优势的!但是就如同我们刚刚提到的,万一你的机器被偷了,连带的,
这颗备份的硬碟自然也就不见了.....<br><br>
</div>
<li><span class=text_import1>储存容量</span>∶</li>
<div class=block2>
这也是一个需要考量的因素!而且常常是最大考量的因素呢!虽然目前硬碟越来越便宜,
但是毕竟就如同前面说的,抽取式硬碟需要将系统冷开机,而建构在系统内的硬碟又同时具由不安全的成分在,
携带式硬碟可能又有不容易保存的特性,这个时候一个大容量的替代方案就显的很重要了!虽然
CD-RW 与 DVD-RW 可以提供不错的速度,但是其容量毕竟不足 (目前的 DVD-RW 片最大虽然可以突破
8.7GB ,但是,贵的很哩~期待新规格赶紧定义出来呢!),
所以说,具有大容量的 tap (磁带容量最小的一款也可以到达 8 GB 左右!)
就相当的具有这方面的优势了!而且携带方便,存放也容易!更可以带著走~~<br><br>
</div>
<li><span class=text_import1>经费与资料可靠性</span>∶</li>
<div class=block2>
在经费不短缺的情况下,我们当然会建议您上面的几个装置都买一买,
然后分别在不同的时间进行不同的备份作业(底下我们有些建议的啦!
^_^)!但是如果经费也是需要考量的话,那么磁带机这个目前还算贵重的物品可能暂时还动不到!
这个时候近来渐渐便宜的 DVD-RW 就显的活跃的多了!而且光碟片也可以保存很久的ㄋㄟ~
当然,目前应该不会有人以软碟来备份了吧!?呵呵!软碟可是相当不安全的
(每次我看到有人拿软碟拷贝资料,我都会要他
copy 完成之后,立刻到另外一部电脑 copy 出来试看看,果不其然,十次里面有八次对方的软碟片都有问题~)<br><br>
</div>
无论如何,如果经费够的话, Tape 备份资料真的是一个不错的点子!因为他的高容量让我好满意!
再来,如果经费稍微短缺的话,那么 DVD-RW 经常性的将资料烧录下来,这也是蛮好的,尤其 DVD
片又不占空间!再来,如果还是没有办法,那么一颗内建在
Linux 的硬碟用来备份也是不错的!什么!!连备份的硬碟都没有,唉!怎么跟我一样~
这个时候没办法啦,用原来的安装系统的硬碟,多留一个
partition 用来当作备份之用吧(这也是目前鸟哥常用的方法之一!)底下我们来看一看一些常见的装置代号!
<ul><span class=text_import2><font face="细明体">
<li>光碟机∶ /dev/cdrom
<li>磁带机∶ /dev/st0 ( SCSI 介面 ), /dev/ht0 ( IDE 介面 )
<li>软碟机∶ /dev/fd0, /dev/fd1
<li>硬碟机∶ /dev/hd[a-d][1-16] ( IDE 介面 ), /dev/sd[a-p][1-16] ( SCSI 介面 )
<li>抽取式 USB 规格硬碟机∶ /dev/sd[a-p][1-16] (别怀疑,刚好与 SCSI 介面相同!)
<li>印表机∶ /dev/lp[0-2]</span></font></ul>
特别留意的是磁带机呦!如果你有钱的话,那么买一部磁带机是相当不错的建议!没钱的话,买
IDE 或 SATA 介面的硬碟也很不错!! ^_^<br><br>
</div>
<hr><a NAME="backup_type"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class=text_h1>备份的种类</span><br>
<div class=block1>
讲了好多口水了,还是没有讲到重点,真是的....好了,再来提到那个备份的种类,
其实前面已经提到一些了!基本上,备份就可以直接分为『完全备份』与『部分备份』这两方面∶<br><br>
<li><a NAME="backup_all"></a><span class=text_import1>完全备份(Full Backup)∶</li>
<div class=block2>
完全备份就是将根目录『 / 』里头所有的资料都给他一股脑儿的备份下来,不过,
这个时候所需要的『<span class=text_import2>时间与备份装置的容量</span>』
就显的相当的重要了!用在大型的企业是有一定的需求的,但是像我们这一种小网站的话,
完整的备份似乎太过于浪费的(毕竟我们可以用时间换取金钱....了不起又重新安装了....)。<br><br>
但是刚刚完成的系统(还没有对外 Internet 上面服务)通常可以的话,就赶快给他备份一下吧!
这样的一个备份是最乾净的!用在系统的最乾净还原是相当有帮助的!这是因为有的时候我们的系统被入侵了,但是
root 并不知道,这个时候老是拿最近的备份资料来还原也没有用呀!因为连同被
cracker 修改过的档案也被我们备份下来了呀!呵呵!所以棉,
将一个最原始的系统的资料备份下来还是有其必要性的!此外,
<span class=text_import2>这种完整备份的频率可不能太高,因为太耗系统资源了</span>!<br><br>
</div>
<li><a NAME="backup_part"></a><span class=text_import1>部分备份(Implement backup)</span></li>
<div class=block2>
部分备份就如同上面提过的,备份那些最重要的资料就好了!反正系统不见的话,
只要重新安装就回来了,资料只要妥善的备份重点资料,那么系统的复原还是一个很快速的工作!
以鸟哥为例,我通常都喜欢仅备份最重要的资讯,因为重新安装一次系统时间花的并不长
(一个钟头内一定可以搞定!)而帐号、服务设定、原本系统的资料库、等等,几乎都只要
copy 回来就 OK 了!<br><br>
例如∶我们这个网站在开始营运初期,虽然交通流量很大了,还是常出状况,
那个时候重新安装了好几次(似乎是硬体的问题!),每次都是一个下午就搞定了!所以棉,
鸟哥是一直认为『<span class=text_import2>重点备份</span>』就真的是蛮重要的!
尤其很多时候,你的资料被吃掉都只是『<span class=text_import2>某个网路服务</span>』,
那么如果仅进行完整备份的工作时,呵呵!单单是将系统先读出来,再取出所要还原的部分,
呵呵!就可以累死你了....<br><br>
</div>
如同上面提到的,这两个方式各有优缺点啦!那么如果可能的话,是否两个都来进行一下最好呢?呵呵!
答对了!给你拍拍手!我们通常的规划就是这样,重点部分的备份频率较高,可能每天都需要备份的!
至于如果是完整备份的话,那么一个星期、甚至一个月在备份一次都可以!目前鸟哥的系统上面就是每天备份
MySQL 资料库,然后每个星期备份所有的重要资料!<br><br>
</div>
<hr><a NAME="backup_tools"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class=text_h1>备份的工具选择</span><br>
<div class=block1>
好了,选定了备份的装置与备份的频率之后,那么我要使用什么方式来备份呀!呵呵!
这个也要跟备份的种类相互配合呢!通常鸟哥在备份的时候,除非有磁带机或者有特殊的功用,否则通常我只使用
<a href="0240tarcompress.php#tar">tar</a> 啦!但是这里我们介绍一下
<a href="0240tarcompress.php#cpio">cpio</a> 这个东西!如果你有磁带机的话,
cpio 可是相当好用的一个指令呢! ^_^ ,呵呵!
由于这两个指令我们早在『<a href="0240tarcompress.php">压缩工具</a>』当中稍微提过了,
请再自行过去瞧一瞧去棉!另外,您或许会问道∶『那<span>么我为什么不直接给他
copy 过去备份的地点就好了呢!</span>?』呵呵!既然可以在 copy
的过程里面增加压缩的功能来减低整个储存空间的消耗,为何不压缩?!那当然还是压缩一下比较好棉!
所以啊!鸟哥还是比较喜欢 tar, cpio 的啦!<br><br>
<li><span class=text_import1>完整备份的工具∶</span></li>
<div class=block2>
在完整备份的工具里面,三个工具 <a href="0240tarcompress.php#tar">tar</a>,
<a href="0240tarcompress.php#cpio">cpio</a> 与 dump 都很常被使用!此外,那个
<a href="0240tarcompress.php#dd">dd</a> 也是不错的指令喔!
至于 cpio 的话,他最大的好处就是『 <span class=text_import2>cpio 连一般的装置档都可以
copy 过来</span>!』很棒吧!所以使用 cpio 进行完整备份是很棒的一个选择。不过需要注意的是,由于
cpio 需要配合 find 才可以正常的动作!这里请特别留意棉!另外,使用 cpio
常常配合另一颗完全用来备份的硬碟或者是磁带机才好!至于完整的指令用法请到
『<a href="0240tarcompress.php">压缩工具</a>』 那一篇去查看棉!备份与反备份分别可以这样使用∶<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -