Der IPFire legt automatisch Backups unter /var/ipfire/backup
an. Diese sind bei uns z.B. 50 MB groß.
Mit der Zeit kann das eine Menge Platz einnehmen - und eine volle /var
-Partition kann zu unvorhersehbaren Fehlern führen (Löschen der Firewall-Regeln, kein Internet, …).
Folgende Zeile löscht vom Server aus alle Backup-Dateien auf dem IPFire bis auf die letzten 3 Dateien:
ssh -p 222 ipfire ls /var/ipfire/backup/*.ipf | head -n -3 | xargs ssh -p 222 ipfire rm
Die -3
kann man natürlich ändern, so dass mehr oder weniger Backups übrig bleiben.
Mit der folgenden Zeile kopiert man das jeweils letzte Backup auf den Server (hilfreich z.B. wenn man den Server per backup-rsnapshot sichert):
scp -P 222 ipfire:$(ssh -p 222 ipfire ls /var/ipfire/backup/*.ipf | tail -n 1) /root/ipfire_bak
Das Verzeichnis /root/ipfire_bak
ggf. anpassen.
Kombiniert kann man damit einen Cronjob erzeugen, der jede Nacht (idealerweise vor einem eventuellen Backup) den IPFire aufräumt und die aktuelle Sicherung in ein Verzeichnis auf dem Server kopiert:
#!/bin/bash ssh -p 222 ipfire ls /var/ipfire/backup/*.ipf | head -n -3 | xargs ssh -p 222 ipfire rm rm /root/ipfire_bak/* scp -P 222 ipfire:$(ssh -p 222 ipfire ls /var/ipfire/backup/*.ipf | tail -n 1) /root/ipfire_bak