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