我在使用 WHM 和 Cpanel 的 CentOS 6 上。我将备份设置为每天运行,但我得到了所有原始文件和目录。我想将所有这些发送到 AWS S3,并有一个脚本来完成所有这些,但需要发送 1 个压缩文件而不是所有原始文件。我想创建一个脚本,将所有目录压缩成单独的 .tar.gz 文件,然后将它们全部压缩成 1 个名称中包含日期的文件。这是我正在使用的脚本,它似乎工作正常,但有一些我无法弄清楚的问题。
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。我对这种类型的脚本有点陌生,我被困住了。谢谢!