Für das Skript im Wiki habe ich eine kleine Verbesserung.
Solange weniger als 10 Sicherungsdateien im Speicherpfad existieren, erzeugt das Script einen Fehler "rm: missing operand".
Betrifft die letzte Zeile im IF-Pfad:
Code: Alles auswählen
if [ ${ret} -eq 0 ]; then
logging "Download openWB Backupdatei ${OUTPUTFILE}"
curl -sS -o "${OUTPUTFILE}" "${WALLBOXBASEURL}${WALLBOXFILE}"
logging "Bereinigung alte openWB Backupdateien"
ls "${OUTPUTDIR}"/openWB_backup_* | head -n -10 | xargs -d '\n' rm
else
logging "Fehler beim Erzeugen des openWB Backups"
fi
Man kann
nutzen um die Anzahl der Einträge zu erhalten.
Ich bin nicht der beste Bash-Script Programmierer, womöglich kann man die drei Zeilen auch zu zwei zusammenfassen, bei mir läufts noch nicht, da meine OpenWB zwar geliefert worden ist, aber noch nicht montiert. EV ist auch noch nicht geliefert, dauert alles etwas
. Prinzipiell geht es auf einer Linux Shell.
Code: Alles auswählen
backupcount=$(ls -1 "${OUTPUTDIR}"/openWB_backup_* | wc -l)
if [ backupcount \> 10 ]
ls "${OUTPUTDIR}"/openWB_backup_* | head -n -10 | xargs -d '\n' rm
fi
listet alle Backups im Backupverzeichnis jeweils eines pro Zeile.
zählt die Zeilen der Ausgabe, es geht sicher auch ohne Zeilenweise Ausgabe und nur Wörter Zählen.
im backupcount ist dann die Anzahl der Backups enthalten.
Jetzt kann man auf mehr als 10 abfragen und nur dann die ältesten 10 löschen.
Sollte also in etwa so aussehen:
Code: Alles auswählen
if [ ${ret} -eq 0 ]; then
logging "Download openWB Backupdatei ${OUTPUTFILE}"
curl -sS -o "${OUTPUTFILE}" "${WALLBOXBASEURL}${WALLBOXFILE}"
logging "Bereinigung alte openWB Backupdateien"
backupcount=$(ls "${OUTPUTDIR}"/openWB_backup_* | wc -l)
if [ backupcount \> 10 ]
ls "${OUTPUTDIR}"/openWB_backup_* | head -n -10 | xargs -d '\n' rm
fi
else
logging "Fehler beim Erzeugen des openWB Backups"
fi
Wenn man will, kann man auch noch einen Parameter anlegen, wie viele Backups man behalten will.
edit: Ich bin mir nicht sicher ob auf einem Synology NAS ein "wc" verfügbar ist, hier kann das Linux/embedded Linux sehr abgespeckt sein und möglicherweise nicht verfügbar sein. Ich werde das Backupscript auf einem kleinem Linux basiertem Server laufen lassen und dort funktioniert die Änderung im Script, aber noch nicht mit OpenWB getestet.