0

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 のようになります。私はこのタイプのスクリプトに慣れていないので、行き詰まっています。ありがとう!

4

1 に答える 1