Dieser Artikel beschreibt, wie Sie Daten in Ihren KISSKI-Projekten mit anderen teilen können.
Es gibt verschiedene Werkzeuge, mit denen Sie Ihre Daten mit anderen Personen teilen können. Das Tool rsync
erfordert wenig Einrichtungsaufwand und rclone
ist gut geeignet, um Daten an andere Dienste wie Owncloud weiterzugeben:
- Rsync: Einfaches Kopieren auf den lokalen Rechner
- Rclone: Kopieren in die Owncloud
- Tmux: Kopieren mit langer Dauer
💎 Zusätzliche Hilfeabschnitte für den Fall, dass Sie einen bestimmten Schritt debuggen müssen, sind mit einem Diamanten gekennzeichnet.
Rsync: Grundlegendes Kopieren auf den lokalen Rechner
Vom Cluster zum entfernten Rechner
Das Tool rsync
ist eine gute Möglichkeit, Dateien zwischen zwei entfernten Systemen auszutauschen.
Um Dateien von Emmy auf Ihren lokalen Rechner zu kopieren, verwenden Sie folgendes in der Shell auf Ihrem lokalen Rechner:
rsync [FROM WO] [TO WO]
rsync -rpt nibsommr@glogin.hlrn.de:/home/nibsommr/deep-learning-with-gpu-cores/ .
mit den nützlichen Flags:
t
Änderungszeiten beibehaltenr
Verzeichnisse rekursiv durchsuchenp
Berechtigungen beibehalten
Ersetzen Sie nibsommr
durch Ihren NHR-Benutzernamen. Dies kopiert das Repository deep-learning-with-gpu-cores
an die aktuelle Stelle in der Shell, angegeben durch .
.
💎 Wenn Sie Probleme haben, benutzen Sie das Verbose-Flag -vv
, um mehr Ausgaben darüber zu erhalten, was falsch gelaufen ist.
💎 Es könnte sein, dass Sie Ihre ssh-Schlüsseldatei explizit mit -i ~/.ssh/hlrn-key
übergeben müssen, indem Sie den Pfad durch den Pfad Ihrer Schlüsseldatei ersetzen.
Vom entfernten Rechner zum Cluster
Um eine Datei von Ihrem lokalen Rechner in den Cluster zu kopieren, führen Sie Folgendes auf dem lokalen Rechner aus:
rsync [FROM WHERE] [TO WHERE]
rsync -rpt beispiel-datei.png nibsommr@glogin.hlrn.de:/home/nibsommr/".
Verwenden Sie die Syntax von vorhin und vertauschen Sie Quelle und Ziel.
RClone: Kopieren nach Owncloud
Um Daten von und zu owncloud zu kopieren, können Sie Rclone als Client verwenden.
Setup
Auf dem Cluster führen Sie rclone config
aus und konfigurieren Sie wie folgt (setup options):
- new remote
- name: owncloud
- 40 (Webdav)
- url: https://owncloud.gwdg.de/remote.php/nonshib-webdav
- 2: owncloud
- user name - the one you use for owncloud (e.g., single sign-on)
- password - the one used for owncloud
- no bearer token
- no editing advanced config necessary
- quit config (q)
💎 Um Ihre Konfiguration zu testen, führen Sie aus
rclone lsd owncloud:
und Sie sollten alle Verzeichnisse Ihrer Owncloud sehen.
Dateien vom Cluster in die Owncloud kopieren
Nehmen wir an, Sie wollen den Ordner auf dem Cluster /home/nibsommr/deep-learning-with-gpu-cores
in den Ordner test
in Owncloud kopieren:
rclone [FROM WHERE] [TO WHERE]
rclone copy -v /home/nibsommr/deep-learning-with-gpu-cores/ owncloud:test
v
verbose um zu sehen was passiert- Hinweis:
owncloud:test
setzt voraus, dass Sie die entfernte Ziel im Setupowncloud
genannt haben
Ähnlich und der Vollständigkeit halber: Um einen Ordner von Owncloud auf den Cluster zu kopieren, vertauschen Sie die Reihenfolge der Argumente: Kopieren des Ordners Hackathon
von Owncloud in das lokale Repository auf dem Cluster:
```rclone [FROM WHERE] [TO WHERE]``
rclone copy -v owncloud:Hackathon .
Owncloud-Ordner freigeben
Sobald Sie die Daten aus dem Cluster in Owncloud hochgeladen haben, können Sie sie für Kollegen freigeben, die keinen Zugang zum Cluster haben. Gehen Sie dazu auf https://owncloud.gwdg.de und klicken Sie auf das Freigabesymbol neben dem Ordner, den Sie freigeben möchten. Sie können die Freigabe mit Benutzern und Gruppen verwenden (wenn die anderen Benutzer ebenfalls Zugriff auf Owncloud haben) oder auch eine öffentliche Freigabe für Personen verwenden, die keinen Zugriff auf Owncloud haben.
Tmux: Kopieren mit langer Dauer
Das Kopieren kann länger dauern, wenn Sie sehr viele Dateien haben. In diesem Fall kann es problematisch sein, dass der Prozess abbricht, sobald Sie die Shell schließen, von der aus Sie ihn gestartet haben! Sie können tmux
verwenden, um dies zu kompensieren.
Einrichtung
Das Tool tmux
ist bereits auf dem Cluster installiert. Für Ihren lokalen Rechner müssen Sie es möglicherweise installieren.
Starten einer Sitzung
Eine “tmux”-Sitzung ist eine Gruppe von Shell-Fenstern. Wenn Sie die Sitzung verlassen, werden Programme, die in dieser Sitzung laufen, weiterhin ausgeführt. So kann der Kopiervorgang in einer tmux
-Sitzung gestartet werden, Sie können die Shell schließen und der Kopiervorgang wird fortgesetzt. Um eine neue Sitzung namens copying
zu starten, führen Sie
tmux new -s Kopieren
💎 Um Ihre aktiven Sitzungen zu sehen, führen Sie aus
tmux ls
und Sie werden Ihre Sitzungen mit ihrem Erstellungsdatum sehen.
Anhängen von Sitzungen
Eine Sitzung anhängen bedeutet, eine tmux
-Sitzung an Ihr aktuell geöffnetes Terminal anzuhängen.
Um an eine Sitzung anzuhängen, führen Sie
tmux attach -t Kopieren
wobei copying
der Name Ihrer Sitzung ist.
💎 Wenn Sie sessions should be nested with care, unset $TMUX to force
erhalten, bedeutet das, dass Sie sich bereits in einer Sitzung befinden! Wahrscheinlich möchten Sie (wenn Sie nichts Ausgefallenes vorhaben) zuerst die aktuelle Sitzung löschen und dann die Sitzung Ihrer Wahl hinzufügen.
Kopieren ausführen
Innerhalb der angehängten Sitzung können Sie nun den Kopiervorgang starten (mit rsync
oder rclone
wie in den obigen Kapiteln beschrieben).
Deattaching und Schließen von Sitzungen
Um Ihr aktuelles Terminal von der tmux
Sitzung zu trennen, drücken Sie ctrl
+ b
+ d
.
Der Kopiervorgang, den Sie innerhalb der Sitzung gestartet haben, wird fortgesetzt.
Sie können die Sitzung wieder verbinden
Um eine Sitzung zu löschen, führen Sie
tmux ls
um alle Ihre Sitzungen aufzulisten und
tmux kill-session -t copying
mit copying
als Name der Sitzung, die Sie beenden wollen.
Indem Sie den Kopiervorgang in eine tmux
-Sitzung verpacken, können Sie sicherstellen, dass der Kopiervorgang auch dann noch fortgesetzt wird, wenn Sie Ihr Terminal geschlossen haben. Für einen vollständigen Überblick über weitere tmux
-Befehle finden Sie hier und hier ein hilfreiches Tutorial.