最後の2つを除く以前のバックアップをすべて削除します。

最後の2つを除く以前のバックアップをすべて削除します。

Linuxサーバーのバックアップにスクリプトを使用しています。次のコードを使用してシステム名を指定します。

# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

前のバックアップをすべて削除し、最後の2つはそのままにしたいと思います。どうすればいいですか?

答え1

バックアップスクリプトに前日に作成されたアーカイブを削除させることができます。

# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

# Do backup
#...

# Delete old backup (assuming GNU date)
deleteday=$( date -d '2 days ago' +'%A' )
rm -f "$hostname-$deleteday.tgz"

答え2

find ... -mtime +2 -exec rm {} \;

またはそのようなもの:)

関連情報