Forum: PC Hard- und Software datei auf entfernten Rechner schreiben


von struppi (Gast)


Lesenswert?

Guten Abend,
ich möchte auf meinem Raspberry ein script anlegen mit dem ich auf einen 
anderen Linux Rechner im selben Netzwerk eine Datei schreiben kann.
Ist so was möglich? Wonach muss ich suchen?

Natürlich habe ich alle Zugangsdaten beider Rechner.
Lg
Struppi

von R. M. (Gast)


Lesenswert?

Wenn auf dem fernen Rechner der SSH-daemon läuft, wird Es am 
einfachsten, mit scp (ssh file copy). Diesem Programm können die 
Zugangsdaten per Kommandozeilenoption mitgegeben werden, oder (besser) 
du generierst auf dem Client einen Hostkey, den du dem Server bekannt 
gibst.
Erster Google-Treffer:
http://www.schlittermann.de/doc/ssh.html

von Sheeva P. (sheevaplug)


Lesenswert?

struppi schrieb:
> ich möchte auf meinem Raspberry ein script anlegen mit dem ich auf einen
> anderen Linux Rechner im selben Netzwerk eine Datei schreiben kann.
> Ist so was möglich? Wonach muss ich suchen?

Ansonsten gibt es natürlich noch sshfs(1), in diesem Fall besonders 
sinnvoll in Verbindung mit systemd.automount oder dem Klassiker 
autofs(8).

Oder man kann etwas mit Python schreiben, etwa mit der Bibliothek 
Paramiko oder dem nativen libssh-Wrapper.

Ansonsten ist es nach meiner Erfahrung häufig so, daß strukturierte 
Daten übertragen und auf dem Zielrechner wieder eingelesen und 
weiterverarbeitet werden sollen. Dann ist es häufig sinnvoller, die 
Daten direkt in eine Art Datenbank zu schreiben -- alle mir bekannten 
professionellen Datenbanken bieten natürlich auch die Möglichkeit 
TLS-verschlüsselter Verbindungen, bei PostgreSQL zum Beispiel ist das 
sogar der Default.

> Natürlich habe ich alle Zugangsdaten beider Rechner.

Natürlich. ;-)

von Sheeva P. (sheevaplug)


Lesenswert?

R. M. schrieb:
> Wenn auf dem fernen Rechner der SSH-daemon läuft, wird Es am
> einfachsten, mit scp (ssh file copy). Diesem Programm können die
> Zugangsdaten per Kommandozeilenoption mitgegeben werden, oder (besser)
> du generierst auf dem Client einen Hostkey, den du dem Server bekannt
> gibst.

Wenn ich mich recht entsinne, bieten die SSH-Entwickler absichtlich 
keine Möglichkeiten an, das Paßwort auf der Kommandozeile zu übergeben. 
Wenn das also automatisiert ablaufen soll, braucht es entweder 
entsprechende Keys, oder das Ganze müßte unelegant mit sowas wie expect 
verskriptet werden.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Als Sender python und als Empfänger ein Apache mit PHP, der in eine 
MySQL Datenbank schreibt. So habe ich das damals für unseren eigenen 
Battlefield 2 Stats Server gelöst.

von R. M. (Gast)


Lesenswert?

Sheeva P. schrieb:
> Wenn ich mich recht entsinne, bieten die SSH-Entwickler absichtlich
> keine Möglichkeiten an, das Paßwort auf der Kommandozeile zu übergeben.

Stimmt, hatte ich mit SMB-mount verwechselt, dort kann man ein 
credential-file übergeben.

von bingo (Gast)


Lesenswert?

Du kannst mit Hilfe von CIFS einen Pfad im Dateisystem Deines Rechners 
anlegen (z.B. /media/fremder_pfad), der auf eine Freigabe (egal ob 
Windows oder Linux) eines remote Rechners verweist. Weiteres findest Du 
z.B. unter https://wiki.ubuntuusers.de/Samba_Client_cifs/

von Noch einer (Gast)


Lesenswert?

Wenn es jahrelang ohne jede Administration laufen soll - scp ist 
zuverlässiger als ein Netzwerkdateisystem.

Ab und zu wird dein Script nicht durchlaufen, weil einer der Rechner 
oder das Netz gerade nicht läuft. Von vorn herein so anlegen, dass es 
mit solchen Problemen zurecht kommt.

von Sheeva P. (sheevaplug)


Lesenswert?

bingo schrieb:
> Du kannst mit Hilfe von CIFS einen Pfad im Dateisystem Deines Rechners
> anlegen (z.B. /media/fremder_pfad), der auf eine Freigabe (egal ob
> Windows oder Linux) eines remote Rechners verweist. Weiteres findest Du
> z.B. unter https://wiki.ubuntuusers.de/Samba_Client_cifs/

NFS, OpenAFS, GlusterFS oder Ceph... Letztere haben sogar die Fähigkeit, 
temporäre Netzwerk- oder Serverausfälle automatisch zu heilen. SMB/CIFS 
ist nett, wenn man Datei-, Druck- oder NT-Domänendienste in einem 
lokalen Netz für Windows-Clients anbieten will, aber sonst eher... hmmm. 
;-)

von Noch einer (Gast)


Lesenswert?

NFS, OpenAFS, GlusterFS oder Ceph...
Schon alleine dass es so viele davon gibt, zeigt: keines davon ist 
wirklich überzeugend.

Rsh, rcp, rexec, rlogin...
Alles untergegangen. Von der ssh ersetzt.

von Sheeva P. (sheevaplug)


Lesenswert?

Noch einer schrieb:
> NFS, OpenAFS, GlusterFS oder Ceph...
> Schon alleine dass es so viele davon gibt, zeigt: keines davon ist
> wirklich überzeugend.

Quatsch. Sie alle haben jeweils ihren eigenen Fokus.

> Rsh, rcp, rexec, rlogin...
> Alles untergegangen. Von der ssh ersetzt.

Ja, und?

von bingo (Gast)


Lesenswert?

Sheeva P. schrieb:
> bingo schrieb:
>> Du kannst mit Hilfe von CIFS einen Pfad im Dateisystem Deines Rechners
>> anlegen (z.B. /media/fremder_pfad), der auf eine Freigabe (egal ob
>> Windows oder Linux) eines remote Rechners verweist. Weiteres findest Du
>> z.B. unter https://wiki.ubuntuusers.de/Samba_Client_cifs/
>
> NFS, OpenAFS, GlusterFS oder Ceph... Letztere haben sogar die Fähigkeit,
> temporäre Netzwerk- oder Serverausfälle automatisch zu heilen. SMB/CIFS
> ist nett, wenn man Datei-, Druck- oder NT-Domänendienste in einem
> lokalen Netz für Windows-Clients anbieten will, aber sonst eher... hmmm.
> ;-)

Oh, dass das alles Linuxe sind, habe ich übersehen.

Ich verwende CIFS seit Jahren ohne Probleme, weil es sich nicht 
vermeiden liess, in meinem Netz auch ein paar Windows-Rechner zu haben, 
NFS ist das reine Unix-Pendant dazu.

Dann wäre NFS interessant für Dich, weiteres siehe 
https://wiki.ubuntuusers.de/NFS/ aber NFS verlangt, dass die UID der 
User aus allen Rechnern gleich sind.

von Dirk B. (dirkb2)


Lesenswert?

Je nach Anforderung, kann FTP auch gehen.

von struppi (Gast)


Lesenswert?

Danke für die vielen Tipps.
aber so ganz einfach geht das alles nicht per skript.
Möchte nämlich eine Log Datei von meinem Raspberry auf meinen Ubuntu 
Server speichern.
Lg

von Olaf (Gast)


Lesenswert?

E-Mail?

von struppi (Gast)


Lesenswert?

Olaf schrieb:
> E-Mail?

Das ist auf dem Server aber wieder aufwendig abzulegen:(

von Sempfdazugeber (Gast)


Lesenswert?

> NFS ist das reine Unix-Pendant dazu.

Fuer Windows XP gibt es SFU und in W7 Enterprise ist NFS
enthalten und muss nur eingeschaltet werden.

> Möchte nämlich eine Log Datei von meinem Raspberry auf meinen Ubuntu
> Server speichern.

Wenns passt:
Lass auf dem Server einen Syslogserver laufen.
Auf dem kannst du dann loggen.

von Noch einer (Gast)


Lesenswert?

>Möchte nämlich eine Log Datei...

Sowohl Rasbian als auch Ubuntu benutzen das Rsyslog. Das kannst du so 
konfigurieren, dass der Raspi die Meldungen an das Ubuntu schickt.

von Daniel A. (daniel-a)


Lesenswert?

Sempfdazugeber schrieb:
>> NFS ist das reine Unix-Pendant dazu.
>
> Fuer Windows XP gibt es SFU und in W7 Enterprise ist NFS
> enthalten und muss nur eingeschaltet werden.

Und alternativ, falls man kein kerberos braucht und keine Enterprise 
Version von Windows hat, gibt es noch 2 Windows ports von fuse-nfs:
https://github.com/sahlberg/fuse-nfs

von Sheeva P. (sheevaplug)


Lesenswert?

struppi schrieb:
> Danke für die vielen Tipps.
> aber so ganz einfach geht das alles nicht per skript.
> Möchte nämlich eine Log Datei von meinem Raspberry auf meinen Ubuntu
> Server speichern.

Aktuelle Syslog-Implementierungen können das nativ, Stichwort Loghost.

Für andere Anwendungsfälle gibt es Lösungen wie Logstash, das die 
Logdaten sammelt, ggf. anreichert und transformiert, und sie dann in 
eine Datensenke wie beispielsweise Elasticsearch pumpen kann. Dort 
können sie dann mit dem Webfrontend Kibana analysiert und visualisiert 
werden.

von bingo (Gast)


Lesenswert?

struppi schrieb:
> Möchte nämlich eine Log Datei von meinem Raspberry auf meinen Ubuntu
> Server speichern.

Das geht sowohl mit CIFS als auch NFS ganz easy.

von Sempfdazugeber (Gast)


Lesenswert?

Der Vollstaendigkeit wegen sollte auch noch tftp erwaehnt werden.

tftp wuerde ich noch eher in Betracht ziehen, als cifs.
Das kann fuer fortzuschreibende Logs u.a. einen Appendmode.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.