Bash-Script: ältere Backup-Files regelmäßig löschen

Werden Daten regelmäßig auf einem zweiten Server als Backup gesichert und läuft dies beispielsweise täglich als CRON, fallen auf dem Backup-Server im Laufe der Zeit viele Dateien an, die irgendwann gelöscht werden sollten.

Das folgende Bash-Script löscht alle Zip-Dateien im Order folder und lässt files_min übrig. Mit ls -F $folder*.zip werden die Dateien alphabetisch sortiert gelistet, head gibt hiervon nur die zu löschende Anzahl zurück und übergibt sie an xarg.

#!/bin/bash

folder=/usr/home/backup/
files_min=10

typeset -i files_total=$(find $folder -type f | wc -l)
typeset -i files_remove=$files_total-files_min

if [ $files_total -ge $files_min ] && [ $files_remove != 0 ]
then
    ls -F $folder*.zip | head -n $files_remove | xargs rm
else
    echo "Not enough files"
fi

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


− 1 = 1