ich brauche nochmal Starthilfe. Vermutlich ganz banal, wenn man von Linux keine Ahnung hat aber ist der Einstieg schwierig.
Ich hab IPS auf Windows 10 laufen. Ich hab auf einem separaten RaspPi (Raspbian) ein Programm laufen, dass mir bestimmte gewünschte Daten als Textfile auf dem Raspberry ablegt. Ich würde gerne diese Daten mit IPS auf dem PC weiterverarbeiten. Da ich mit den Prgrammierschnittstellen wie JSON etc. noch nicht so firm bin würde mir erstmal eine einfache (um 3 Ecken Variente) Lösung reichen.
Also: Ich möchte die genannte Datei (hier Daten.txt) in definierten Zeitabständen (z.b. alle 60min) in ein von IPS aus zugreifbaren Ordner auf meinem Win-Rechner kopieren.
(1) Klar: entsprechenden Symcon/win-Ornder freigeben (192.168.178.2/UserAufIPSserver). Irgend was spezielle beachten?
(2) diesen dann auf dem Raspberry mounten:
sudo mount -t cifs //192.168.168.2/UserAufIPSserver /mnt -o user=testuser
(3) wie kopiere ich dann?
cp Daten.txt 192.168.178.2/UserAufIPSserver
(4) wie kann ich das z.B. alle 60min automatisieren
Ab (3) komme ich nicht weiter, sofern nicht schon die Vorschritte falsch waren.
Auf dem Raspberry den Mount machen: kannst Du statisch machen (muss dann in /etc/fstab) oder mit automount wie folgt (alle Schritte als root ausführen)
Etwas einfacher geht das mit der JSON-API. Damit kann man die Variablen direkt aktualisieren. Das geht auch Außerhalb von IPS mit meinem JSONAPI Wrapper
1000 Dank für die ausführliche Erklärung, werde es in der Mittagspause probieren. Und dann (wenn ich es hinbekommen habe auch das Projekt dahinter verraten …)
vi /etc/auto.master
/media/ips -fstype=cifs,rw,credentials=/root/ips.cred :///
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#
#/misc /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
# "nosuid" and "nodev" options unless the "suid" and "dev"
# options are explicitly given.
#
#/net -hosts
#
# Include /etc/auto.master.d/*.autofs
#
#+dir:/etc/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
#+auto.master
/media/ips -fstype=cifs,rw,credentials=/root/ips.cred ://IPS-SERVER/IPSserver
user/Password-Datei ips.cred anlegen
vi /root/ips.cred
username=
password=
Entsprechend gesetzt (mit anderem PC überprüft)
jetzt den dienst freigeben und starten
systemctl enable autofs
systemctl start autofs
Keine Fehlermeldung.
Dann
ls /media/ips/*
=> ls: Zugriff auf /media/ips/* nicht möglich: Datei oder Verzeichnis nicht gefunden
Hat es was mit der Art zu tun wie ich den Windows10-Ordner freigeben muss? Innerhalb des Heimnetzgruppe komme ich an den freigeben Ordner problemlos ran.
Heimnetz nützt nichts, Du musst eine echte Freigabe erstellen (Ordner Markieren, rechte Maustaste->Freigeben für ->Erweiterte Freigabe und unter Allgemein->erweiterte Freigabe aktivieren. Dann Freigabe und Sicherheit Tabs entsprechend Bearbeiten.
Jetzt prüfen:
ist der Sharename „IPSserver“ wirklich richtig (das ist der „Freigeabename“?
Kannst Du den Host IPS-SERVER vom Raspberry anpingen?
Kannst Du den Share auf einem anderen Windows-PC im gleichen Netz wie der Raspberry mounten
net use Z: \\IPS-SERVER\IPSserver /USER:<user> <password>
kannst Du den Share auf dem Raspberry manuell einbinden : als root
mount -t cifs -o rw,credentials=/root/ips.cred //IPS-SERVER/IPSServer
Wird hier was angezeigt:
smbclient -L //IPS-Server -U <user>
#password wird abgefragt
danke @Tommi.
Habs jetzt nach langem probieren so gelöst (falls es noch jemand anders gebrauchen kann):
(1) Neuen Benutzer auf dem Win-Rechner anlegen (z.B. user=pi, passwort=1234). Auf dem Win-Rechner „cmd“ als Administrator aufrufen und Benutzer wie folgt erzeugen:
net user pi 1234 /add
Dann schließen.
(2) Im Win-Explorer das gewünschte Verzeichniss freigeben und als Benutzer „pi“ hinzufügen, und entsprechend dem Wunsch die Zugriffrechte anpassen.
Damit wäre auf WindowsSteioe alles getan.
(3) Auf dem Raspberry Zielverzeichniss anlegen:
sudo mkdir /mnt/IPSserver
(4) Auf dem Raspberry die Autostartdatei aufrufen zu editieren:
sudo nano /etc/fstab
(5) Und am Ende folgende Zeile hinzufügen (natürlich noch Username (hier pi), password (hier 1234) und die Domain (i.d.R: WORKGROUP) anpassen. Freigabeverzeichnis und ZielOrdner entsprechend ggf. auch verändern.