Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1052866
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:26:33


重要数据的丢失可能意味着致命的破坏。尽管如此,还是有无数专业人员忽视了对他们的数据的备份。虽然原因可能各不相同,但是,最常见的一个解释是,执行例行备份确实烦琐。由于机器擅长于完成普通而重复的任务,因此,自动化备份的过程是降低工作内在的枯燥性和人们与生俱来的拖延倾向的关键所在。 如果您使用Linux,那么您就已经可以使用那些创建定制备份解决方案的极其强大的工具。本文中的方案,可以让您使用几乎每个Linux发行版本都附带的开放源代码工具来执行从简单的到更高级而且安全的网络备份。 简单备份 本文按照一步一步的方法来进行讲述,只要您遵循那些基本的步骤,此方法会是非常直观的。 在研究更高级的分布式备份解决方案之前,让我们首先来看一个简单而强大的存档机制。让我们来分析一个名为arc的方便的脚本,它可以让我们在Linuxshell提示符中创建备份快照。
  
   #!/bin/sh
   tarczvf$1.$(date %Y%m%d%-H%M%S).tgz$1
   exit$?
  
清单1.arcshell脚本
arc脚本接收一个单独的文件或目录名作为参数,创建一个压缩的存档文件,同时将当前日期嵌入到生成的存档文件的名字之中。例如,如果您有一个名为beoserver的目录,您可以调用arc脚本,将beoserver目录名传递给它以创建一个压缩的存档文件,如:beoserver.20040321-014844.tgz 使用date命令是为了嵌入一个日期和时间戳以帮助您组织存档文件。日期的格式是年、月、日、小时、分、秒——虽然秒域的使用有一些多余。查看data命令的手册(mandate)来了解其他选项。另外,在清单1中,我们向tar传递了-v(verbose)选项。这就使得tar显示出它正在存档的文件。如果您喜欢静默地进行备份,那么删除这个-v选项。
  
   $ls
   arc beoserver
   $./arcbeoserver
   beoserver/
   beoserver/bookl.dat
   beoserver/beoserver_ab_off
   beoserver/beoserver_ab_on
   $ls
   arc beoserver beoserver.20040321-014844.tgz
  
清单2.存档beoserver目录
高级备份 这个简单备份是实用的;不过,它仍然包含一个人工备份的过程。行业最佳经验通常建议将数据备份到多个媒体上,并备份到分开的不同地理位置。中心思想是避免依赖于任何一个单独的存储媒体或单独的位置。 在下一个例子中我们将应对这一挑战,我们将分析一个如图1所示的假想的分布式网络,它展示了对两台远程服务器和一台离线存储服务器的系统管理。
   图1.分布式网络 服务器"#1和#2上的备份文件将安全地传输到离线存储服务器上,而且整个分布式备份过程将在没有人工干涉的情况下定期进行。我们将使用一组标准的工具(开放安全shell工具套件(OpenSSH)的一部分),以及磁带存档器(tar)和cron任务调度服务。我们的全部计划是,使用cron进行调度,使用shell程序和tar应用程序完成备份过程,使用OpenSSH安全shell(ssh)加密进行远程访问、认证、安全shell拷贝(scp)以自动完成文件传输。要获得另外的资料请务必查看每个工具的手册。 1 2 3 4 5 下一页>>


下载本文示例代码
阅读(337) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~