der Owncloud Dateibagger – Dateien aus dem Owncloud-Verzeichnis in Tertiärspeicher archivieren

(Last Updated On: 30. Juli 2015)

Geht es Ihnen öfters so, dass Sie äußerst umständlich Dateien von mehreren Geräten auf einen externen Datenträger schieben müssen?

Sicher haben Sie schon von Cloud-Lösungen gehört, ganz gleich ob von dedizierten Anbietern wie Dropbox, Google Drive, SugarSync und Co. – oder von der selbstgehosteten Variante Owncloud, dessen Installation ich hier erklärt habe.

Jedenfalls wollen Sie vielleicht nicht alle Dateien auf Ihrem owncloud-Account haben. Beispielsweise haben Sie vielleicht kein Intresse daran, dass ihr Musikordner ständig in seiner vollen Größe im Owncloud-Verzeichnis ist. Schließlich würden die Dateien ständig auf allen rechnern dupliziert werden, was die jeweilige Internetleitung unnötig belastet und die Daten unnötig einer Gefahr aussetzt, wenn Sie vergessen Ihren Arbeitsplatz zu sperren und fremde sich an dem Ordner zu schaffen machen.

Deswegen ertappen Sie sich öfters dabei, dass sie immer noch umständlich Musik per USB-Stick mitnehmen, damit Sie sie auf jeden beliebigen Rechner anhören können. Und wenn Sie beispielsweise in der Arbeit einen neuen Titel über Amazon kaufen, dann tragen Sie diesen wieder mit nach Hause, um ihn in Ihre externe Festplatte zu Hause einzuspielen.

Wäre es nicht einfacher, eine Lösung zu bauen, bei der sie neu hinzugekommende Dateien einfach in ein Owncloud-Verzeichnis verschieben, und spätestens einen Tag später sind diese auf Ihrer externen Festplatte, aber aus dem Owncloud Verzeichnis verschwunden? Und wenn Sie doch einmal Lust auf die Datei haben, können Sie sie jederzeit wieder manuell über das Internet in Ihr Owncloud-Verzeichnis zurückholen, so dass Sie einige Minuten später auf Ihren PC synchronisiert wird, auf welchem Sie den owncloud Desktop Client installiert haben? Somit kombinieren Sie die Vorteile von beidem: Sie können Dateien auf eine externe Festplate auslagern und können aber gleichzeitig immer noch die Dateien per Owncloud auf alle Geräte synchronisieren lassen.

Wenn Sie Owncloud auf einem Linux-Server installiert haben, auf welchen Sie sich über SSH verbinden können, ist diese Lösung sehr einfach möglich.

Als erstes richten Sie den Owncloud Desktop Client auf einem beliebigen PC ein, von welchem aus Sie Ihre Owncloud-Dateien synchronisiert haben wollen, ein. In Ihrem Owncloud-Verzeichnis erstellen Sie dann Ordner für Dateien, die Sie von diesem PC auf einen Storage schaufeln wollen, der an dem Server angebunden ist.

Ich habe mir auf meinem Owncloud-Ordner beispielsweise einen Ordner Push eingerichtet. In diesem wiederum befinden sich Unterordner für Fotos, Musik, E-Mails und andere Dateien, die ich einfach nur in diesen Ordner schiebe, wenn ich Sie ein paar Stunden später auf dem Storage haben will, sie jedoch aus dem owncloud verschwinden sollen.

2015-07-29_17h26_56

Nehmen wir beispielsweise einmal an, ich lade mir heute von meinem lokalen Rechner aus einen Treiber für dieses Gerät herunter und speichere diesen Treiber nach owncloud\Push\Treiber. Dann möchte ich, dass am nächsten morgen der Treiber aus dem Ordner owncloud\Push\Treiber verschwunden ist, sich dafür aber auf dem Linux Server im Verzeichnis /server1/Treiber befindet. /server1/ ist dabei der Mountpunkt einer externen Festplatte, die auf dem Server angeschlossen ist, auf welchem auch gleichzeitig Owncloud läuft.

Zeitgleich haben einige dieser Ordner diverse Unteordner. Im Ordner E-Mails beispielsweise gibt es Unterordner für Schriftvekrehr, bestellbestätigungen, Rechnungen, Vereine, Versicherungen usw.. Diese Ordner sollen da auch bleiben, damit wir in diese Ordner immer wieder neue Dateien ablegen können. Beim KOpieren der Dateien sollen die Ordner also nicht mit an den Zielort verschoben werden, sondern für spätere Sortierungszwecke erhalten bleiben.

Ihre Dateien auf Ihrem owncloud-Verzeichnis liegen nämlich auf dem Server ebenfalls im Reinzustand. Wenn Sie beispielsweise owncloud aufdem Server im Verezichnis /var/www/owncloud installiert haben, liegen Ihre Daten unter /var/www/owncloud/data/files/<username>. Wir müssen also nur die Dateien von /var/www/owncloud/data/files/<username>/Push nach /server1/ schieben und schon werden alle Dateien im Push Ordner auf die externe Festplatte ausgelagert.

Wie bewerkstelligen wir das? Nun, wir schreiben uns ein Shell-Skript, welches wir einmal am Tag nachts per Cronjob ausführen lassen. Das Skript versucht, per rsync-Befehl die Dateien von einem der Push-Unterordner in einen korrespondierenden Ordner auf der externen Festplatte /server1/ zu vsynchronisieren. Wenn aus irgendeinem Grund einmal die externe Festplatte oder owncloud nicht erreichbar ist, schlägt das rsync-Kommando fehl und am nächsten Tag wird ein erneuter Versuch gestartet – die Dateien werden also nicht aus Versehen gelöscht.

Gleichzeitig sollten wir darauf achten, dass durch den rsync-Befehl nicht versehentlich Dateien überschrieben werden können, die den gleichen Dateinamen haben. Wenn ich beispielsweise in meinem E-Mail-postfach mehrere E-Maisl mit dem gleichen Betreff in der betreffzeile bekomme, dann bekomme die Dateien auch den gleichen Dateinamen. Wenn cih den Tag zuvor eine E-Mail mit dem Betreff gepsiechert habe und am nächsten Tag eine Mail mit dem selben Betreff von meinem Owncloud-Verzeichnis rüberschreibe, würde ich die alte Datei sonst überschreiben. Bei RSync müssen wir uns darum jedoch nicht mehr kümmern. Außerdem wollen wir, dass Rsync keine Dateien löscht, die nicht erfolgreich übertragen wurden, aber alle Dateien, die erfolgreich synchronsiiert wurden, aus unserem Owncloud-Verzeichnis löscht. Und all das bewerkstelligen wir mit

rsync --remove-source-files -av /var/www/owncloud/data/<username>/files/Push/E-Mails/ /server1/E-Mails

Dieser befehl vereint alles, was wir brauchen:

  1. er kopiert alle Dateien aus den owncloud-Verzeichnissen in das Zielverzeichnis und hält dabei die Struktur der Unterordner ein
  2. er überschreibt keine alten Dateien im Zielverzeichnis mit dem gleichen Namen
  3. er löscht alle Dateien, die erfolgreich übertragen wurdne, aus unserem owncloud-Verzeichnis
  4. er löscht keine Dateien, die nicht erfolgreich übertragen wurden
  5. Er löscht die Unterordner im  Mail-Verzeichnis nicht, so dass wir jederzeit später wieder Dateien einsortieren können, ohne ide Ordner neu anlegen zu müssen. Würden wir die Dateien einfach nur mit dem Befhel mv verschieben, würden die Ordner mit verschoben und wir müssten die ganzen Unterordner wieder neu anlegen.

Vorsicht: Bevor ihr den Befehl zum ersten mala usprobiert, macht vorher eine Sicherung eures Push-Ordners in owncloud sowie ggf. von existierenden Daten im Zielordner, falls etwas schiefgeht. Funktioniert der Befehl, ist er „serienreif“ und kann als Cronjob eingeplant werden.

Nachdem Sie diesen Befehl ausgeführt haben, dauert es eine Weile, bis die Dateien aus Ihrem Owncloud-Verzeichnis auf Ihrem Computer verschwinden. Wenn Sie jedoch direkt im data/<username>/files-Verezichnis von owncloud auf dem Server selbst nachsehen, werden Sie erkennen, dass die Dateien bereits von Rsync gelöscht wurden. Wenige Minuten später verschwinden die Dateien dann auch aus Ihrem owncloud-Verzeichnis.

Wenn Sie jetzt für jeden Ihrer Push-Unterordner eine Rsync-Zeiel schreiben und diese Zeilen in einem Skript ablegen, das einmal pro Tag per Cronjob ausgeführt wird, haben Sie eine automatische Ablage Ihrer Daten bewerkstelligt und Ihr owncloud-Verzeichnis wird immer sauber gehalten.

Wie ist es nun umgekehrt, fragen Sie – wenn Sie einmal aus Ihrem externen Datenträger eine Datei auf ihrem owncloud-Verzeichnis haben wollen? Sofern Sie einen SSH-Zugang zu diesem Server angelegt haben ist es kein Problem, die Dateien entweder auf kommandozeilenebene per SCP oder über das grafische Tool WinSCP entweder direkt auf den Computer herunterzuladen oder von der externen Festplatte in das data/<username>/files-Verzeichnis von Owncloud, so dass die Dateien wenig später in Ihrem Owncloud-Verzeichnis landen.

 

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren...

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.