跨平台下服务器数据的自动备份

上一篇 / 下一篇  2013-02-06 09:29:51 / 个人分类:LINUX

51Testing软件测试网d`f x+P%P1E,Y

相关技术

J'K M5P0|I051Testing软件测试网@^If#BG

51Testing软件测试网#i._"M7[?{(cArN

bJ+o3}9w0Linux作为网络操作系统在稳定性、安全性、网络性能等方面的优越性,使得其在服务器方面的应用越来越广泛。并且随着开源潮流的蓬勃发展,开放源代码的LAMP(LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台)已经与J2EE和.Net商业软件形成三足鼎立之势,基于LAMP平台的应用系统也与日俱增。笔者所在的学校就利用LAMP平台为广大师生用户提供安全、稳定、高速的web网站服务和BBS论坛服务。51Testing软件测试网.P'U.@&G'Lvj

51Testing软件测试网8XMQ1M\0K5j

作为服务器管理员,除了提供必需的网络服务外,最主要的是要保证服务器上数据的安全。数据才是网站、论坛的核心,可是人为错误、硬盘损毁、电脑病毒、自然灾难等都有可能造成数据的丢失,给网站、论坛用户带来极大的损失。此时最关键的问题在于如何尽快恢复计算机系统,恢复原有数据,使其能正常运行。51Testing软件测试网xy"b` zq

51Testing软件测试网5LAV*l ~9v

为确保数据的安全性,应将数据以某种方式加以保留,以便在系统遭受破坏或其他特定情况下,重新利用备份的数据恢复各种应用服务。笔者在对linux服务器的维护管理中,总结出一种在linux服务器下数据的定期双机自动备份的有效方法。51Testing软件测试网(Gi+CcIp

+K,E3M}3M-h @0其中,主服务器运行在Linux环境下。提供Web网站、BBS论坛服务,并定期进行整个数据的全备份,同时将数据上传到提供flp服务的Windows2003备份服务器。实现对主服务器数据的本地、异地双备份,以提高数据的安全性。51Testing软件测试网~ rBl7_*T G+a

lM2Q+} g2M02相关技术51Testing软件测试网 }C'M&fld

yk;Zv9b`0在Linux环境下,实现数据跨平台自动备份的方法是借助于Linux操作系统提供的tar命令和cron定时服务共同实现本机备份,然后再通过Ftp传输协议实现异地备份。51Testing软件测试网/p7v)bms-i j*r m

t%TO5l#j02.1Linux操作系统中的tar命令51Testing软件测试网%|)cmR2E q/?

51Testing软件测试网8JL%K Ms+[0{;Xh

tar是一个已移植到Linux中的经典UNIX命令,是tapearchive(磁带归档)的缩写,最初设计用于将文件打包到磁带上,它是—个基于文件的命令,本质是连续地、首尾相连地堆放文件。使用tar可以打包整个目录树,这使得它特别适合用于备份、归档文件,可以全部还原或从中展开单独的文件和目录。

Gy8KI@z(bX.G0

fa E z-aH'[{:O0使用tar命令只需将它指向一个目的(可以是文件或设备),然后指定您想要打包的文件。您可以通过标准的压缩类型来动态压缩归档文件,或指定一个自己选择的外部压缩程序。要通过bzip2、压缩或解压缩文件,可使用tar—z命令。

^aiF-w,p0

gsG~W"Jiw(km2yG0语法:tar(主选项+辅选项)文件或者目录51Testing软件测试网HJ fW1eD| O4g

SF/w!F!BrCA0使用该命令时,是必须要有主选项,它告诉tar要做什么事情,辅选项是辅助使用的。51Testing软件测试网S%U*h9}~#_,^w }"o

51Testing软件测试网+u!~0_R8V"]dPP

主选项:51Testing软件测试网X0nh.t4JA~,G I6e$n

/nd0~#G(M)@?P0c创建新的档案文件。如果用户想备份—个目录或是一些文件,就要选择这个选项。51Testing软件测试网\0tE!rJ:H+UqX^R

4tX0i!K]u/O _1x0t列出档案文件的内容,查看已经备份了哪些文件。

8C6SG d%]V051Testing软件测试网!Qh'Vk$y Z1F*H^/M

u更新文件。即用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。51Testing软件测试网'XXM&r:T*q

x{+O1`)VU~0x从档案文件中释放文件。51Testing软件测试网 W;h8XC&S(u$I

51Testing软件测试网nqj0tq*tn

辅助选项:

+e5zm y_c'PZ8MF$z'J051Testing软件测试网*TVr6?;M_q'_"`

f使用档案文件或设备,这个选项通常必选。

?0fnv:x#xn n0

y`(Id y}6{aC0m创建多卷的档案文件,以便在几个磁盘中存放。51Testing软件测试网.b i+^YuK

51Testing软件测试网5l2aj%zy"A;B

v详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

3W\ p5UQ{E$F6X0

fY&BLy%n0z用gzip来压缩,解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也要使用该选项进行解压缩。51Testing软件测试网(f O9ENS3W!K

51Testing软件测试网8a~.bi-XE4v"S?

2.2Linux中的定时机制51Testing软件测试网4sySxg;T4MBf

M wmj]9`V` PKQ0定时自动执行可以通过Linux中的守护程序cron来完成。cron是—个系统调度进程,可以按规定的时间间隔自动执行预定的命令或程序,具有定时功能。系统提供有—个crontab命令允许用户提交、编辑或删除需定时执行的作业,但并不是每个用户都有权使用crontab命令,系统通过cron.allow和cron.deny这两个文件来允许或禁止用户使用该命令。在/etc/cron.allow文件中列出的用户将被允许运行cron作业,而在/etc/cron.deny文件中列出的用户将被拒绝对cron的访问,这两个文件都使用了每行—个用户名的简单格式。用户可以运行crontah命令,用cron能识别的格式输入一些记录,每一行指定了要运行的命令及运行时间。crontah命令把用户输入的记录存入/var/spool/cron目录下,生成一个和用户名相同的crontah文件(如:一个管理员的Linux用户useone输入的命令生成的文件将是/var/spool/cron/userone),守护进程crond定期读取这个文件,并在指定时间执行其中的命令或程序。51Testing软件测试网H/|2]}n v

51Testing软件测试网O[ D;Al$U g `5oU

crontab文件的每行都包含6个域,其中前5个域是指定命令被执行的时间,最后一个域是要被执行的命令,各个域之间用空格或制表符分隔。51Testing软件测试网6|4^HR1r w

51Testing软件测试网{ t e4H|!m

格式为:MHDmdcmd

d|k0g@Zb Sn_ ?,Q M051Testing软件测试网 ?:MsSF'o?

其中:M代表分钟(0-59);H代表小时(0-23);D代表天(1-31);m代表月份(1-12);d代表星期几(0-6);cmd代表要运行的命令。在表示时间的域中,可以是用横杠来表示的—个时间范围,也可以是用逗号分开的多个值,或是用·匹配的所有值。

Q/wSb N9YR(s051Testing软件测试网,a(^6Hj&ml/T

使用crontab命令创建crontab文件的方式有两种:

#@7j [$^7sO;}U ~#Q051Testing软件测试网shF6kW,a W7Z |2~5a2Z

(1)首先用文本编辑器建立—个新文件,向其中写入需要运行的命令和执行的时间,然后用crontah命令来安装这个文件,使之成为该用户的crontab文件。格式如下:51Testing软件测试网MH4|*z1JN ^S

51Testing软件测试网Mxm,U+W5z"d*]+PP

自动异地保存的方法51Testing软件测试网5l(})x f#{

ZvK)d&L"fE5x0

u N6H5G~7Uo9_051Testing软件测试网2k7F;Sf)@ k9dE?

2.3Shell编程简介

zNz9w3I&] H2YY2k051Testing软件测试网'Tw+sO9W{E N~

利用vi等文本编辑器编写Shell脚本的格式是固定的,如下:

cU q'K ? A|9\051Testing软件测试网 v/oB kl3m ] X

#!/bin/sh

;L/~ Ft| @:{}Z0

1j#|.yh q/mS CGy0#comments51Testing软件测试网9pu'v;S;rW!Kpd]

d"\;G W rr0Yourcommandsgohere51Testing软件测试网"M k9nA tq ZE;N

8H;L5At| R0首行中的符号#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序。如果首行没有这句话,在执行脚本文件的时候,将会出现错误。后续的部分就是主程序,Shell脚本像高级语言一样,也有变量赋值,也有控制语句。除第一行外,以撑开头的行就是注释行,直到此行的结束。如果一行未完成,可以在行尾加上”,这个符号表明下一行与此行会合并为同一行。

/m9U3I3f/n ?051Testing软件测试网 r {I_)B0v4p-@u

编辑完毕,将脚本存盘为filename.sh,文件名后缀sh表明这是—个Bash脚本文件。执行脚本的时候,要先将脚本文件的属性改为可执行的,其方法为:chmod+xfilename.sh执行脚本的方法是:./filename.sh。51Testing软件测试网 uL"K,N(N

}[#nv6o6@MyK02.4自动异地保存的方法51Testing软件测试网5VLf${v

51Testing软件测试网.`s*X2^*~r$i(_(h9Q

对服务器备份出来的文件进行异地保存,可以利用FTP命令将主服务器所备份的数据通过Shell脚本自动上传到异地的FTP服务器,下面简单介绍下所用到得ftp命令。51Testing软件测试网q[;s^N*tC

51Testing软件测试网1ztJ0@jb

3方法实现51Testing软件测试网Z J'\d-[D

2g*AnL,~C6h03.1获得权限

QZ`2Os2w051Testing软件测试网7F7m1?g}s)o,f

Linux系统中的用户要使用erontab命令,必须拥有使用权限。用户获得权限的方法是:以超级用户(root)身份登录,在/etc目录下查看文件cron.allow和cron.deny是否存在。若cron.allow文件存在,cron.deny文件不存在,则查看用户userone用户名是否在该文件中,如没有,应添加到cron.allow文件中去(1个用户名占1行);若cron.allow文件不存在,cron.deny文件存在,则查看cron.deny文件中是否有userone用户名,如有应予以删除,这样useroner用户就有权使用crontab命令了;若cron.allow和cron.deny文件都不存在,则除超级用户以外的其他用户都不能运行crontab命令。

hV N^9Yc?0

)N@8qec M03.2编写Shell脚本51Testing软件测试网K&E ^hZ;rpf0h

1T9??y.\,@2}[0用vi编辑器编辑如下脚本文件并命名为backup.sh,将脚本文件的属性设置为可执行,存放在/data/目录下。该脚本可以实现本地备份30天的数据,并且通过FTP存放数据到异地FTP服务器中。

x$ZFv&S#g B$?'IS"]?b0

Xz/j^3?&da0e03.2设置crontab文件

e!@7@1[Z7x0

-VW(Z'b&j0lH0考虑到数据的安全性,故采用每天凌晨1:30执行备份一次的策略。设置crontab文件的步骤如下:

vR(N A5sJ0Ss0

Y SoAn y0在打开的终端输入crontabe进入编辑模式,输入如下内容:51Testing软件测试网V t'DgjNUF"|5jq

w*d;oM{;Ik0300***/data/backup.sh

z RCB:D]m0

r N gb"d*s"[5k0(1)经笔者测试对于Mysql数据库数据可以在不停止Mysql服务的情况下,把它当做文件数据通过上面的方法来备份。当然,为了确保数据库安全也可在使用tar命令打包数据前,先使用#/etc/init.d/mysqlstop命令停止Mysql服务,待备份结束后立即通过#/ete/init.d/mysqlstart命令开启。51Testing软件测试网s-iX.Ui}-J:]D$W0~

5nod yM%McNX0(2)文中例子是每天凌晨1:30执行备份,也可根据实际情况灵活确定数据库自动备份的时间点,每天或每月备份。51Testing软件测试网n$_UelN!MJ

51Testing软件测试网\ F~$W2J

(3)如有其他需定时执行的作业,只需通过crontabe命令,添加相应条目即可。

%E2H1u0J'g|)Ye051Testing软件测试网q SOi km&n4Y

4结束语51Testing软件测试网p^WR N R

A;|-@4A:TL[~0让系统定期自动备份数据,并对备份出来的文件自动异地保存,不仅很好地保障了数据的安全性,而且大大减轻了信息维护人员的负担。本文介绍的方法简单易行,在很大程度上实现了数据的异地容错,确保了数据安全。

`U D(Rz+hU?/I `0

TAG: Linux linux 自动备份 跨平台

 

评分:0

我来说两句

luoriver

luoriver

北漂一族,80后,计算机专业,从事SIP相关软件测试3年,热爱生活,崇尚运动。 爱看WWE、公开课。爱钻“牛角尖”,这就是我:luorivr!!!!!

日历

« 2024-04-14  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 345465
  • 日志数: 96
  • 图片数: 1
  • 建立时间: 2012-12-27
  • 更新时间: 2014-05-03

RSS订阅

Open Toolbar