Remote Zugriff auf eine Raspberry Pi-Terminalsession

corvus79

Newbie
Registriert
Feb. 2018
Beiträge
7
Liebe Community,

ich bin relativ neu im Themenbereich Linux aktiv, würde aber gerne einmal eure Ideen zu folgendem Problem erfahren:
Und zwar habe ich eine Raspberry Pi 2, der standardmäßig in der shell startet und eine Reihe von (rsync) Synchronisationen ausgehend vom Autostart des automatisch eingeloggten Users (via .bashrc) durchführt. Dieser Pi tut dies über eine getaktete Lan-Steckdose automatisch zu bestimmten Zeiten und wenn ich ihn dazu manuell anstoße. Nun würde ich mir gerne via ssh den Forschritt der Synchronisation anschauen. Aber wenn ich dies über einen anderen User tue, sehe ich das nicht und über den gleichen User (pi) würde ich den Autostart in der .bashrc wieder ausführen, was mir zum einen nicht den aktuellen Forschritt zeigt und zum anderen zu einer Doppelbelastung des Downloads führt.
Elegant wäre es also eine Art VNC-Server auf dem terminal exklusive zu haben, über den man sich direkt die bestehende Session anschauen kann. Leider finde ich im Netzt nur Lösungen in der grafischen x11 Umgebung, die ich auf dem Pi nicht istallieren möchte (und wenn ich diese starte bekomme ich immer einen Display-Fehler). Ich habe es auch einmal mit dem screen-Befehl versucht, jedoch wird über einen SSH-Login von einem anderen User auf dem Pi aus auch wieder der Autostart neu gestartet. Vielleicht übersehe ich ja auch nur eine Option bei diesem Befehl oder es gibt eine anderes einfaches Programm hierfür?

Vielen Dank schon einmal für eure Hilfe!

Stephan
 
TLDR; All die Probleme hättest du nicht, wenn du rsync nicht über die .bashrc anstossen würdest. Da gibt es elegantere Methoden, je nachdem zu welchem Zweck du das tun möchtest.
 
Kannst du mir denn bitte eine Empfehlung hierfür geben? Wichtig wäre, dass die Synchronisation ganz automatisch mit dem Starten und Autologin des Standard-Users erfolgt. Wie das genau dargestellt wird, wäre mir erst einmal egal.
 
Warum willst du das denn tun? Einen Befehl remote auszulösen geht auch einfacher mit ssh user@host "befehl".
 
Auch das habe ich initial geschrieben:
corvus79 schrieb:
.... Aber wenn ich dies über einen anderen User tue, sehe ich das nicht und über den gleichen User (pi) würde ich den Autostart in der .bashrc wieder ausführen, was mir zum einen nicht den aktuellen Forschritt zeigt und zum anderen zu einer Doppelbelastung des Downloads führt.
...
Stephan
Vielleicht wäre es einfacher anstelle des TLDR (Too long, didnt read) doch meinen ganzen initialen Beitrag zu lesen.
 
Ich habe den Beitrag gelesen, aber du hast nicht erklärt warum du einen rsync mit dem login auslösen willst.
 
nun, der Pi synchronisiert routinemäßig spät in der Nacht, sodass wenn er eingeschaltet wird alles automatisch vonstatten gehen soll. Wenn es hierzu einen einfacheren Weg gibt, der mir auch die Möglichkeit gibt über Remote die Ausgabe des Synchronisationsfortschrittes zu zeigen, wäre das toll.
 
Wenn du den rsync beim einschalten laufen lassen willst, dann kann das in /etc/rc.local
Ansonsten verstehe ich immer noch nicht, wozu das dienen soll und klinke mich hier aus.
 
rsync hat einen Schalter namens "--progress" der dir den sync-Fortschritt jeder einzelnen Datei anzeigt.
Ein anderes Tool, um Fortschrittsbalken zu basteln ist "pv". Das kannst du einfach an deinen befehl pipen.

Um das mitzuverfolgen wäre es eigentlich am einfachsten den Output in eine Logdatei zu pipen, wo du einfach reinguckst, um zu sehen wie weit das ist.
 
Hallo Stype,

super, dann ist mein Beitrag ja doch verständlich! Das ist genau, was ich gesucht habe. Vielen Dank! Die Umleitung klappt sehr gut und die Log-Datei kann ich mir einfach via cat anschauen. Kann ich denn evtl. ein Script schreiben, dass den cat-Befehl im Sekundentakt auf der Logdatei ausführt, sodass ich sekündliche Statusabfragen habe?
 
Moin,

super, dass ich dir helfen konnte.

"tail -f" zeigt dir immer aktualisierten Inhalt an. Das könntest du einfach permament einer Session laufen lassen.
 
Zuletzt bearbeitet:
Das funktioniert nun perfekt. Ich kann in der .bashrc des automatisch einloggenden users (pi) die rsync-Befehle hintereinander eingeben, die Ausgabe dann
in eine log-Datei im tmp-Ordner umleiten (weitere rsync-Ausgaben werden via >> angehangen) und dann über einen weiteren Nutzer automatisch über tail -f (Befehl wird automatisch über dessen -bashrc ausgeführt) live die Ausgabe vom user "pi" beobachten! Vielen Dank für die Hilfe. Das klappt jetzt wie gewollt und sogar ohne zusätzliche Programme.
 
Dafür gibt es den Befehl watch. Sähe in deinem Fall dann so aus:
Code:
watch cat /path/to/logfile
Aktualisiert standardmäßig im 2 Sekunden Intervall, das lässt sich aber einstellen. Hilfe dazu in der jeweiligen manpage, aus dem Kopf weiß ich das gerade nicht.
 
Zurück
Oben