Nachdem mir mein eigens geschriebenes Perl-Script (Code am Ende) zum Kopieren meiner wichtigsten Daten etwas langsam erscheint und vor allem den gewaltigen Nachteil hat, dass es nur kopiert, die Daten aber nicht auf Existenz prüft, versuche ich mich an rsync.
Das Script funktioniert nun folgendermaßen:
Auf den ersten Blick scheint das Tool alles zu können, was ich für meine Zwecke benötige:
Außerdem bietet das Tool auch ein grafisches Backend, welches ich eigentlich nich nutzen will. Stattdessen will ich versuchen, rsync in das schon bestehende Perl-Script einzubinden.
Wie ich gerade herausfinde, gibts auch ein CPAN-Modul, namens File::Rsync, allerdinsg müsste das erst installiert werden. Somit ist das Programm nicht auf jedem Ubuntu-Rechner mit Defaultinstallation benutzbar.
Ich werde rsync mit folgenden Parametern starten:
Da rsync nur die Daten kopieren kann, auf die der aufrufende Benutzer zugreifen darf, werde ich das Programm nur mit root-Rechten starten.
Langes Schreiben und Lesen, kurze Änderung im Script:
Den Systemaufruf zum Kopieren ersetze ich durch
Ich werde später noch Verbesserungen am Programm vornehmen, die mir auch mit Hilfe von Parametern erlauben werden, ein Backup auf entfernte Rechner zu tätigen und auch die Daten aus einem Konfigurationsfile auszulesen. Darüber werde ich dann später berichten.
Jetzt habe ich das Script nach einigen Tests angestoßen und werde es durchlaufen lassen. Das kann bei der Datenmenge noch eine Weile dauern…
…einige Zeit später
Habe gerade festgestellt, dass ich Stunden meines Lebens fast unnütz mit Warten verbracht habe. Da ich in der rsync–Schleife einige “/” am Ende zuviel hatte, hat rsync die neu zu kopierenden Ordner mit den bereits kopierten verglichen und immer wieder gelöscht. Zum Schluss hatte ich dann nur noch den Inhalt des letztens Ordners, der im Sicherungsarray stand.
Versuch macht kluch ![]()
Dafür hab ich noch schnell die Abfrage ob root oder nicht eingebaut und einige kleine Fehler ausgemerzt.
Und weiter gehts…
…40 min später
einige Testläufe verliefen hervorragend, so dass ich das Script natürlich in abgeänderter Form als Cronjob einsetze.
rsync ist echt einfach, hätte mich gleich am Anfang damit befassen sollen.
Kommentare sind geschlossen.