bash - Backupscript

#!/bin/bash
 
datapath=/var/www/doc
backuppath=/var/backup/dokuwiki/
 
tar -czf $backuppath"doc_"$(date '+%Y%m%d').tar.gz $datapath
 
filecount=$(ls -1 $backuppath | wc -l)
 
if [ $filecount -gt 5 ];
then
        rm $(ls -td $backuppath/* | tail -$(expr $filecount - 5))
fi
 
exit 0

Wichtig:

Das Script erzeugt aus einem Dateipfad ein gzip-Archiv und löscht alle älteren Archive, außer den aktuellsten fünf Versionen.

Quellen

ls voller Pfad, bash-Scripting, bash-Scripting, älteste Datei löschen, Rechnen in bash, Variablenzuordnung in bash, Dateien zählen in bash