我在使用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。我对这种类型的脚本有点新鲜,而且我被卡住了。谢谢!
的问题是使一个变量时,我不应该使用的空间。因此,现在需要= $(日期+“%m_%d_%Y”)=(日期+“%m_%d_%Y”)。无论如何,谢谢你的脚本对别人有帮助! – user2445466