ich bin von einem Cent-OS umgestiegen auf ein Debian-System in der Version "Debian 3.2.60-1+deb7u1"
Zur Datensicherung verwende ich ein Shell-Skript, welches mit die Daten bzw. Verzeichnisse in /home/www in ein Datensicherungsverzeichnis kopiert und anschließend komprimiert.
Ebenso verfährt das Skript mit den SQL- und MariaDB-Datenbanken. Jeder Unterordner im Datensicherungsverzeichnis bekommt das Datum und die Uhrzeit der durchgelaufenen Sicherung.
Nun zum Problem:
Ich hätte gerne, dass ich über eine Variable "MAX_BACKUP_FILES" die maximale Anzahl vorzuhaltender Backupverzeichnisse festlegen kann.
Im Endeffekt soll das Skript prüfen, wie viele Sicherungsverzeichnisse vorhanden sind. Die Anzahl wird von "MAX_BACKUP_FILES" abgezogen. Ist das Ergebnis der Berechnung "0" so wird ein Ordner gelöscht.
In der Shell erhalte ich aber folgende Fehlermeldung:
backup.sh: 44: backup.sh: [[: not found
Mein Skript sieht "auszugsweise" so aus:
Code: Alles auswählen
## Anzahl der aufzubewahrenden Backup-Versionen
MAX_BACKUP_FILES=30
#################################################################################################################################
## Alte Datensicherungen loeschen
#################################################################################################################################
cd ${backup_org_www}
countfolders=$(ls -1 | wc -l)
clearfolders=$((countfolders-MAX_BACKUP_FILES))
counter=0
if [[ "clearfolders" -gt 0 ]]; then
for folder in *
do
if [[ "$counter" -lt "clearfolders" ]]; then
rm -rf ${backup_mariadb}/${folder}
rm -rf ${backup_mysql}/${folder}
rm -rf ${backup_org_www}/${folder}
rm -rf ${backup_owncloud}/${folder}
else
break
fi
counter=$((counter+1))
done
fi
Grüße
Feuernatter