gzip 选择目录放入单独的档案中

gzip 选择目录放入单独的档案中

我该如何将目录列表压缩到单独的档案中?我已阅读解决方案只存档给定目录中的所有目录,但有些目录我想跳过。也许更简单的方法是定义我不想存档的目录。

这是为了备份目的,因此如果可以轻松实现增量存档,那将是一个巨大的优势。不幸的是,rsync 对我来说不是一个选择。

或者使用如下脚本自动MySQL备份但对于我来说目录将是一笔巨大的财富。

答案1

我想到了这个。它查看定义的目录,将其中的所有目录存档到它们自己的单独文件中,并根据源目录名称和脚本执行日期为它们命名。

#!/bin/bash

#START
TIME=`date +%Y-%m-%d_%Hh%Mm`     # Append date and time to backup file
SRCDIR=/srv                      # Location of directories to backup
DESDIR=/srv/backup               # Destination of backup files
EXCLUDE=exclude.txt  # File which defines what to exclude from archiving

for dir in $SRCDIR/*/
do
  base=$(basename "$dir")
  tar -cpzf $DESDIR/$base-$TIME.tar.gz $dir
done
#END

问题出在哪里?除非目标目录位于源目录之外,否则它将继续存档先前已创建存档的备份文件夹;因为$EXCLUDE未使用该变量。

相关内容