Via SSH auf das Änderungsdatum einer Datei zugreifen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Elmo57
User
Beiträge: 4
Registriert: Dienstag 5. April 2022, 15:32

Hallo zusammen,
für ein Programm, mit dem ich Sensorwerte von verschiedenen Rechnern (Raspberries) einsammle, muß ich via SSH auf eine bestimmte Datei zugreifen und sollte von dort das Änderungsdatum auslesen. Leider habe ich keine Idee, wie ich das anstellen soll.
Hat jemand von Euch soetwas schon 'mal gemacht? Ich wäre sehr dankbar wenn mir jemand weiterhelfen könnte!
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das klingt nach von hinten durch die Brust ins Auge. Warum kann der Sensowert nicht zb via MQTT verschickt werden?
Elmo57
User
Beiträge: 4
Registriert: Dienstag 5. April 2022, 15:32

Das Ganze läuft seit Jahren perfekt und jede Änderung würde einen Rattenschwanz an Arbeit nach sich ziehen. Ich brauch lediglich das Änderungsdatum von ein paar Dateien. Das funktioniert "zu Fuß" auch problemlos. Einfach ein Terminal öffnen und folgenden Befehl absetzen:
ssh <Username>@<servername> -t "<ls -la /Pfad/zur/Datei>"
und voilá, schon habe ich was ich möchte. Diesen Vorgang würde ich gerne automatisieren indem ich das Änderungsdatum irgenwie in eine Python-Variable einlesen müßte!
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na dann mach das doch einfach mit subprocess.run, das kann dir auch die Ausgaben des Befehls zurück liefern. Die muss dann halt zerlegt werden.
Elmo57
User
Beiträge: 4
Registriert: Dienstag 5. April 2022, 15:32

Danke für den Tip!!!! Das kannte ich nicht. Ich hab' g'rad danach "gegoogled" und das klingt vielversprechend. Ich werde das morgen ausprobieren.
LukeNukem
User
Beiträge: 232
Registriert: Mittwoch 19. Mai 2021, 03:40

Elmo57 hat geschrieben: Dienstag 5. April 2022, 19:47 Danke für den Tip!!!! Das kannte ich nicht. Ich hab' g'rad danach "gegoogled" und das klingt vielversprechend. Ich werde das morgen ausprobieren.
Möglicherweise ist die Methode lseek() der Klasse SFTPClient aus dem Modul paramiko etwas eleganter, als einen Unterprozess aufzurufen und dann dessen Ausgabe zu parsen. ;-)
Elmo57
User
Beiträge: 4
Registriert: Dienstag 5. April 2022, 15:32

Herzlichen Dank nocheinmal an __deets__! Es funktioniert perfekt!
Antworten