系统管理工具包: 问题和陷阱
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:
#
# 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
更多精彩
赞助商链接