首页 | 旅游 | 健康 | 时尚 | 下载 | 论坛 | 图文 | 专题 | 地图
资讯 IT人 电脑入门 操作系统 上网 办公 技巧 硬件 软件 网络 图像 多媒体 程序 数据库 网页制作 网站开发 网游 安全 加密 企业

在 Linux 上进行自动备份

巧巧读书 2008-07-26 本站原创 佚名 技术论坛

    重要数据的丢失可能意味着致命的破坏。尽管如此,还是有无数专业人员忽视了对他们的数据的备份。虽然原因可能各不相同,但是,最常见的一个解释是,执行例行备份确实烦琐。

由于机器擅长于完成普通而重复的任务,因此,自动化备份的过程是降低工作内在的枯燥性和人们与生俱来的拖延倾向的关键所在。

    如果您使用 Linux,那么您就可以使用创建定制备份解决方案的极其强大的工具。本文中的解决方案可以让您使用开源工具执行从简单的到更高级而且安全的网络备份,几乎所有 Linux 发行版本都包含这些工具。

    简单备份

    本文采取循序渐进的方法。只要遵循这些基本步骤,该方法就会非常直观。

    在学习更加先进的分布式备份解决方案之前,我们先看一个简单但功能强大的归档机制。我们查看一个名为 arc 的简单脚本,该脚本支持从 Linux 的 shell 提示符创建备份快照。

    清单 1: arc 的 shell 脚本


   

 #!/bin/sh
   tar czvf $1.$(date +%Y%m%d-%H%M%S).tgz $1
   exit $?

    arc 脚本接受单个文件或目录名作为参数,创建压缩的归档文件,并将当前日期嵌入到生成的归档文件名中。例如,如果存在一个名为 beoserver 的目录,那么可以调用 arc 脚本并将 beoserver 目录名传递给该脚本来创建压缩的归档文件,比如 beoserver.20040321-014844.tgz。

    使用命令 date 嵌入日期和时间戳有助于组织归档文件。日期格式是年、月、日、小时、分钟和秒 —— 但是秒字段的 使用可能有点多余。查阅 date 命令的手册(man date)可以了解该命令的其他选项。而且在清单 1 中,选项 -v (verbose) 被传递给 tar。该选项指示 tar 显示所有正在归档的文件。如果希望备份过程静默进行,那么请去除选项 -v。

    清单 2:将 beoserver 目录归档

   

  $ ls
   arc  beoserver
   $ ./arc beoserver
   beoserver/
   beoserver/bookl.dat
   beoserver/beoserver_ab_off
   beoserver/beoserver_ab_on
   $ ls
   arc  beoserver  beoserver.20040321-014844.tgz

    高级备份

    上面的简单备份示例很有用;但是它仍然包含一个手动备份过程。行业最佳实践建议经常进行备份,并备份到位于多个地理位置的多种介质上。其中心思想是避免完全依赖单一存储介质和单一存储地点。

    我们将在下一示例中解决这个挑战,分析一个虚构的分布式网络(如图 1 所示),它将展示一位系统管理员能够访问两台远程服务器和一台离线数据存储服务器

    图 1. 分布式网络

在 Linux 上进行自动备份

    服务器 #1 和 #2 的备份文件可以安全地传输给离线存储服务器,且整个分布式备份过程将会在无人干预的情况下定期进行。我们将使用一组标准工具,包括部分 Open Secure Shell(OpenSSH)工具,还有磁带归档工具(tar)和 cron 任务调度服务。我们的整个计划是将 cron 用于调度,将 shell 编程和 tar 应用程序用于备份过程,将 OpenSSH 安全 shell 加密用于远程访问身份验证和安全 shell 复制(scp)以自动化文件传输。有关这些工具的更多信息,请务必阅读它们的手册。

本类最热图文
巧巧读书图文推荐
Google
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章