Seite 1 von 1

Script (per Screen) im Autostart

Verfasst: Freitag 15. Februar 2013, 00:03
von Galotar
Guten Abend =)

Ich wollte mich einmal Vorstellen:

Ich heiße Kevin , bin Student Angewandter Informatik an der TU Dortmund (Anwendungsfach Maschinenbau)
und bin 22 Jahre Alt.

Da mir leider die Praxis an der Uni fehlt haben ein Kumpel von mir und ich uns einen Homeserver bei mir zuhause aufgestellt - auf Debian Basis.
In erster Linie soll dieser im Prinzip Daten Filme / Musik abspeichern, bisschen mit VMs spielen etc..
Einen kleinen bescheidenen Minecraftserver für Freunde.

Nun zu meinem Problem:

Ich habe ein Raspberry Pi am Router, welches ein Pythonscript ausführen soll (Funktioniert auch ohne Probleme wenn man es selbst startet), nur möchte ich das dieses beim eventuellen Neustart in einem Screen -S ipscan mitstartet.
Dieses Script verschickt jedem eine E-Mail, der im Email Verteiler ist, sollte sich die Öffentliche IP ändern.

Ich habe dort wheezy Debian drauf.

Der Ordner gehört dem User

Folgendes habe ich versucht:
in

Code: Alles auswählen

/etc/rc.local
Hierbei passiert nix bzw. wenn ich es ohne su user -c öffne premission denied

Code: Alles auswählen

# Autoipscan Script
su user -c Screen -S ipscan 
su user -c Screen -S ipscan -X stuff $'python3 /home/user/pyAUOIPSCANNER/pyAUTOIPSCANNER.py \n' # Schickt Screen den Befehl das Script zu öffnen
oder Hierbei wird mir der Prozess angezeigt aber er sendet keine E-Mail (keine Ahnung wo er sich dort aufhängt)

Code: Alles auswählen

# Autoipscan Script
su kevkev -c python3 /home/user/pyAUTOIPSCANNER/pyAUTOIPSCANNER.py
Das Script ist in pyAUTOIPSCANNER.py(main) ipmail.py und ipscan.py aufgeteilt und besitzt eine SQlite3 DB emailverteiler.db diese sind im Ordner pyAUTOIPSCANNER

Am liebsten wäre mir es mit Screen zu machen, damit man den Prozess eventuell anschauen kann

Meine Frage: Habt ihr eventuell eine Lösung, damit dies ausgeführt wird?
Eventuell eine Elegantere Lösung?

Vielen Dank und ich hoffe ich hab alles richtig erwischt =)

Mit freundlichen Grüßen

Galotar

Re: Script (per Screen) im Autostart

Verfasst: Freitag 15. Februar 2013, 08:29
von sparrow
Die elegantere Lösung wäre das ganze als Daemon zu bauen und kein Screeen zu verwenden. Das entsprechende Script könnte dann direkt beim booten über die ganz normalen Startscripte gestartet werden.

Das hier könnte dir helfen.

Re: Script (per Screen) im Autostart

Verfasst: Freitag 15. Februar 2013, 10:53
von BlackJack
@Galotar: Man könnte auch Logging einbauen um besser nachverfolgen zu können was das Skript tut und was nicht. Eventuell wäre so etwas wie `supervisord` auch ganz nützlich.

Re: Script (per Screen) im Autostart

Verfasst: Freitag 15. Februar 2013, 17:53
von Galotar
Ok vielen Dank für die Antworten =) ich werde mich mal morgen dran setzen =) und dann Rückmeldung geben =)

Schönes Wochenende!

Re: Script (per Screen) im Autostart

Verfasst: Samstag 16. Februar 2013, 00:03
von anogayales

Code: Alles auswählen

In [5]: reply = "Ok vielen Dank für die Antworten =) ich werde mich mal morgen dran setzen =) und dann Rückmeldung geben =)"
In [6]: reply.count("=)")
Out[6]: 3
:(

Re: Script (per Screen) im Autostart

Verfasst: Samstag 16. Februar 2013, 19:46
von Leonidas
Man könnte aber auch einfach DynDNS nutzen und das ganze Problem einfach richtig lösen statt IP-Adressen umherzuschicken. Dafür gibt es DNS ja.

Re: Script (per Screen) im Autostart

Verfasst: Samstag 16. Februar 2013, 22:05
von Galotar
Ja klar das hätten wir auch machen können, nur für 4 oder 5 Leute lohnt sich das nicht.
Außerdem hat man das nötige Know-How um es selbst zu lösen, es ist einfach ein 100x geileres Gefühl. 8)

Es dient ja halt zur Weiterbildung für uns.

Bisher bin ich noch nicht dazu gekommen die Vorschläge auszuprobieren.

Re: Script (per Screen) im Autostart

Verfasst: Samstag 16. Februar 2013, 23:43
von Leonidas
Naja, wieso, man lernt schon auch wie man die neue IP rausfindet, wie man sie an den DynDNS-DIenst den man nutzt übermittelt und so späße. Außerdem hat man danach die Möglichkeit Hyperlinks zu setzen, was bei einer wechselnden IP eher wenig Sinn macht.