特定の数のバックアップ(タールボール)のみをディレクトリに保存してください。

特定の数のバックアップ(タールボール)のみをディレクトリに保存してください。

私のDebian 9.4コンピュータには、srv /の日付名がxx-xx-xxxx.tarのすべてのファイルを自動的に圧縮してバックアップするスクリプトがあります。私のbackups /ディレクトリに移動されました。

フォルダ内の.tarファイル(バックアップ)の数を10個に制限し、新しいtarが作成されるたびに最も古い.tarファイルを削除したいと思います。

この問題を解決するための最良の方法は何ですか?これは私のスクリプトです。

#!/bin/bash
#Purpose = Backup of Important Data
#Created on 17-1-2012
#Author = Hafiz Haider
#Version 1.0
#START
TIME=`date +%b-%d-%y`            # This Command will add date in Backup File Na$
FILENAME=backup-$TIME.tar.gz    # Here i define Backup file name format.
SRCDIR=/srv/daemon-data                    # Location of Important Data Directo$
DESDIR=/backups           # Destination of backup file.
tar -cpzf $DESDIR/$FILENAME $SRCDIR 
#END

ベストアンサー1

スクリプトの最後に以下を追加します。

find "$DESDIR/$FILENAME" -type f -mtime +10 -delete

これにより、ディレクトリ内のバックアップファイル(tar.gz)が見つかり、10日以上前のすべてのバックアップが削除されます。

おすすめ記事