2013-06-02 57 views
0

我在使用WHM和Cpanel的CentOS 6上。我将我的备份设置为每日运行,但是我获得了所有原始文件和目录。我想将所有这些发送到AWS S3,并且有脚本来完成所有这些操作,但需要发送1个压缩文件而不是所有原始文件。我想创建一个脚本,将所有目录压缩成单独的.tar.gz文件,然后将它们全部压缩到1个文件中,其中包含名称中的日期。这是我正在使用的脚本,它似乎工作正常,但有几个问题我找不出来。WHM备份脚本 - 压缩目录

for dir in /backup/cpbackup/daily/*/ 
do 
    base=$(basename "$dir") 
    if [ "$dir" == "azureat" ]; then 
    tar --exclude='homedir/public_ftp' --exclude='homedir/svn_sync' --exclude='homedir/backup-*.tar.gz' -cvzf "${base}.tar.gz" "$dir" >> backup.log 
    else 
    tar --exclude='homedir/public_ftp' --exclude='homedir/backup-*.tar.gz' -cvzf "${base}.tar.gz" "$dir" >> backup.log 
    fi 
    rm -rf "$dir" 
done 
now=$(date +"%m_%d_%Y") 
tar -cvzf WHM_Daily_Backup_$now.tar.gz *.tar.gz >> backup.log 
mv WHM_Daily_Backup_$now.tar.gz /backup/aws_s3 >> backup.log 

的问题是,当脚本运行,我会得到一个名为与* .tar.gz不包含任何额外的.tar.gz文件,最后文件没有打印的日期。它看起来像WHM_Daily_Back_.tar.gz。我对这种类型的脚本有点新鲜,而且我被卡住了。谢谢!

+0

的问题是使一个变量时,我不应该使用的空间。因此,现在需要= $(日期+“%m_%d_%Y”)=(日期+“%m_%d_%Y”)。无论如何,谢谢你的脚本对别人有帮助! – user2445466

回答