WEB开发网
开发学院操作系统Linux/Unix 系统管理工具包: 问题和陷阱 阅读

系统管理工具包: 问题和陷阱

 2008-11-12 08:27:50 来源:WEB开发网   
核心提示: 清单 4. 一个简单的增量存档脚本#!/bin/sh## Make an incremental archive containing files that have been# modified since the last archive was created.## Usage:##

清单 4. 一个简单的增量存档脚本

#!/bin/sh
#
# Make an incremental archive containing files that have been
# modified since the last archive was created.
#
# Usage:
#
# newer-archive.sh -o new-file.tar -nt old-file files
old_file=""
new_file=""
files=""
archiver="tar -T - -czpsSf"
while [ "$1" != "" ] ; do
  case $1 in
    -o)
      new_file=$2
      shift
      ;;
    -nt)
      old_file=$2
      shift
      ;;
    *)
      files="$files $1"
      ;;
  esac
  shift
done
for path in $files ; do
  find $path -newer $old_file
done | $archiver $new_file

-o 选项指定了输出文件,而 -nt 选项指定了用作基准的文件,任何比该文件更新的文件都将添加到存档中。在列出需要进行存档的选项、文件或目录之后,您需要将它们全部添加到输出文件。

您可以对这个脚本进行修改,以便使用任何种类的存档工具,假定您找到了一种通过管道传递需要进行存档的文件列表的方法。如果您的系统中没有安装 GNU 的 tar,那么您可能还需要调整其中的 tar 选项。

您可以将这个脚本与 date 命令组合在一起使用(请参见清单 5),以创建包含当前日期和时间的存档。

清单 5. 使用 date 来指定备份存档的名称

chrish@Bender [525]$ sudo ~/bin/newer-archive.sh -o incremental-$(date
+%Y-%m-%d-%H.%M.%S).tar.gz -nt incremental-2006-09-06-11.15.03.tar.gz /Users

上一页  1 2 3 4 5 6 7 8  下一页

Tags:系统 管理 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接