Für diejenigen der IP-Symcon Nutzer, die HDClone als Backup-Software nutzen, habe ich hier ein kleines Scriptchen, welches die Backups von HDClone managen kann. Um die Erwartungshaltung gleich mal zu dämpfen: mit „managen“ ist in diesem Kontext lediglich gemeint, dass das Script dafür sorgt, dass die Backups eine definierte Halbwertzeit haben und danach ins Nirwana geschickt werden. Oder ganz profan ausgedrückt: das Script löscht automatisiert alle Backups im Ordner, wenn diese älter als n Tage sind (wobei „n“ vom User selbst definiert werden darf). Das Script läuft bei mir schon über ein Jahr klaglos, ich habs heute ein wenig aufgehübscht.

Nun gehe ich sicher nicht davon aus, dass es besonders viele Leser gibt, die in ihrer Umgebung mit exakt der gleichen Konstellation unterwegs sind (die Wahrscheinlichkeit ist vermutlich nicht höher, als einen Secher im Lotto zu bekommen), aber vielleicht findet der Ein- oder Andere noch Anregungen, lernt irgendwas daraus oder verlangt weitere/andere Features vom Autor… man wird sehen ;-)

Ausgangsszenario

RS.net HDClone Backup

Backup Schema

HDClone veranstaltet bei mir auf dem Server jedes Wochenende eine Backup-Party. Neben diversen Kopien macht es eine komplette Kopie des C:\ Laufwerks vom Server. Diese Kopie wird dann auf ein RAID-5 Laufwerk in den Backup-Ordner geschoben. Dort werden die Backups aber nur für ein paar Wochen zwischengelagert (Der Backup-Ordner ist quasi das Abklingbecken). Von dort aus geht die Reise der Backups dann via AllSync in 2 verschiedene externe eSATA RAID-Laufwerke (diese werden übrigens wöchentlich via IPS ein- und ausgeschaltet – um beim Hauptthema „Home-Automation“ zu bleiben).

Mein S:\ Laufwerk hat zwar derzeit eine Kapazität von 6TB, aber auch die ist irgendwann erschöpft. Und wozu hunderte Backups auf einem produktiv-Laufwerk lagern? => Dafür hab ich ja die externen eSATA-RAID Laufwerke. Die Backups auf S:\ müssen also weg.

Die Lösung

Um die Backups auf S:\ wieder los zu werden und Speicherplatz frei zu machen braucht man also eine Lösch-Routine. Das kann zum einen manuell durch Papa (also MICH) erfolgen – hatter aber keine Lust drauf. Also muss IPS – resp. ein IPS-Script her. Prompt hab ich mir den Backup-Manager ausgedacht. Der löscht nun jede Woche das, was seine Halbwertzeit überschritten hat und noch immer auf der Festplatte rumlungert.

Ein wenig tricky war hier die Löschung der Backup-Images. Denn via PHP (unlink) einfach löschen iss nich: zunächst müssen die Inhalte im Backup-File gelöscht werden, erst dann lässt sich das Backup selbst löschen.

Darüber hinaus sollen die Backups nicht sofort gelöscht werden, sondern erst nach 2 Wochen. Wäre ja ganz doof, wenn ein Backup auf S:\ gelöscht wird, bevor AllSync selbiges ins externe eSATA RAID verschieben kann. Zusätzlich will ich etwas Puffer haben, falls es mit dem Verschieben der Backups auf die externen RAID-Laufwerke mal nicht so richtig klappt.

Installation

RS.net Backup Manager Objektbaum

Backup Manager im IPS Objektbaum

Das Script ist so klein und übersichtlich, dass ich hier auf die Mimik des RS Project Exporters verzichte (man möge es mir nachsehen). Man übernimmt das Script einfach in sein eigenes IP-Symcon, gibt die Konfiguration vor (Pfad zum Backup-Ordner, max. Alter der Backup-Files) und legt einen zyklischen Timer unterhalb des Scripts an (bei mir läuft das Ding jede Woche Sonntags, kurz nach Mitternacht.

RS.net Backup Manager Config

Backup Manager Script Config-Bereich

 

 


 

Getagged mit
 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

css.php