UNIX系统备份关键的信息( 四 )


--stats 显示同步的统计信息 。--rsh 告诉 rsync 使用安全 Shell (SSH) 复制文件(出于安全考虑) 。--delete 删除目标中那些在本地目录中不存在的文件 。--recursive 确保对整个目录进行检查 。--times 保留文件的创建和修改时间 。-og 保留所有权和组信息 。--links 将链接复制为链接,而不是它们所链接的文件 。DESTBASE 变量指定了基本位置(在本示例中为远程主机上的文件系统),而 HOST 变量则保存了主机名信息,以便您能够对多台主机使用相同的脚本进行备份 。
备份整理的数据
在前面的部分中,您已经使用了 tar 和 rsync 在单独的文件夹中创建相应的备份 。您可以使用这种经过整理的信息作为主备份,尤其是当文件位于另一台计算机时 。然而理想的情况下,您还应该将这些文件备份到另一个位置 。
使用上面介绍的这些脚本,无论是 tar 或 rsync,都可以将多台主机的多个目录中的信息整理到单个位置 。基于这一点,您可以使用自己喜欢的方法进一步地对这些信息进行备份,包括将其复制到另一台计算机或设备,或复制到磁带或磁盘 。
保存长期的记录
大多数备份解决方案,尽管对其进行了良好的管理,但通常依赖于交替和循环使用用于存储数据的介质或目标 。然而,您可能需要长期保存相关信息的某些类型的关键数据,甚至可能需要能够记录这些数据的变更和修改信息,并作为备份过程的一部分 。
实际上,记录这些信息的时间间隔仅受到可用磁盘空间或存储空间的限制 。使用基于日期的方法,特别是在使用 tar 或 cpio 时,您可以长期保存相关记录,而不会对存储空间造成很大的影响 。通过使用常规的完整备份(换句话说,包括所有的文件)和增量 (diff) 备份(其中仅备份变更的内容),您可以进一步延长其保留时间 。
总结
备份关键文件涉及到确定相关文件,并找到一种合适的方法存储和备份这些信息 。文件可能存储在许多不同的位置,而您应该多加小心,以确保包含重要的、但经常被遗忘的内容,比如内核驱动程序、库和相关配置 。
然后使用合适的方法,就可以对这些信息进行有效的备份 。与用户数据不同,通常需要优先对关键文件进行恢复,以便在继续进行其他的还原操作之前,使计算机获得正确的配置 。通过使用 tar 或 rsync,做好对该信息进行访问的准备,这样通常将更加有效 。
使用 tar 存储备份数据
使用 tar、cpio 或其他的存档文件类型,可能是最直接的信息存储方式 。当使用这种方法时,最好注明这些文件的日期,并创建一个简单的备份脚本,专门用来生成指定的文件 。另一方面,您还需要一种方法,以便删除不再需要的备份数据(例如,那些超过了特定时间段的备份数据) 。
清单 1 显示了一个简单的脚本,该脚本为不同的目录创建了经过 tar 处理和压缩(使用 bzip2)的备份 。这些备份文件创建于与远程系统共享的网络文件系统 (NFS),而该远程系统保留了相应的备份副本 。
清单 1. 为不同的目录创建经过 tar 处理和压缩的备份
#!/bin/bashDATE=`date%Y%m%d.%H%M`HOST=`hostname`TEMP=/mnt/backupprepareecho "Preparing backup..."cd $TEMPfiles=`/usr/local/mcslp/filesbydate.pl notlast5days $HOST*`if [ -n "$files" ]thenecho "Deleting old files: $files"rm $filesficd /etctar cf - ./* |bzip2 -9 - >$TEMP/$HOST-etc.$DATE.tar.bz2cd /var/bindtar cf - ./* |bzip2 -9 - >$TEMP/$HOST-bind.$DATE.tar.bz2cd /export/home/webstar cf - ./* |bzip2 -9 - >$TEMP/$HOST-webs.$DATE.tar.bz2cd /etc/apache2tar cf - ./* |bzip2 -9 - >$TEMP/$HOST-webconfig.$DATE.tar.bz2;
使用 date 命令生成 DATE 变量,并创建一个“20060627.2200或“10PM on 27th of June 2006形式的文件名 。要使得备份脚本具有可移植性,要求创建的所有文件的前缀中包含创建该文件的主机的名称,这样一来就可以很容易地将多台主机的内容备份到相同的位置,并且 TEMP 目录作为每个备份的目标 。

推荐阅读