Konsolen-Autostart ...

  • Hallo Ihr Lieben,
    gibt es eigentlich eine Möglichkeit eine Konsole automatisiert nach dem Autostart hoch zu fahren und dort einen Befehl (python-Script) auszuführen?

    Später soll der Pi automatisch in die Konsole und nicht mehr in den x-Server starten, im Moment benötige ich aber den x-Server noch und somit wäre ein Autostart des Scripts in die Konsole gut.

    THNX, LG synth

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig

  • Ich habs nicht zum Laufen bekommen ... :(
    macht aber auch im Moment nix mehr ... so weit läuft alles was ich brauche und ich werde demnächst auf eine reine Ausführung ohne grafische Oberfläche umsteigen. :)
    THNX

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig


  • macht aber auch im Moment nix mehr ... so weit läuft alles was ich brauche und ich werde demnächst auf eine reine Ausführung ohne grafische Oberfläche umsteigen. :)

    Dann empfehle ich diese Scriptaufgabe einfach mit einem Cronjob zu erledigen, wenn es denn für deinen Einsatzzweck passend ist. Weis ja nicht, was das Script genau anstellt oder wozu es gut ist.

  • Jopp, wird dann via Cronjob gestartet ... muss noch ein paar Sachen "überlegen"

    Das py-Script hier ist ein RSS-Downloader für einen Online-Video-Recorder ... youTV ...
    der Part funktioniert mittlerweile sehr gut ... wird so lange ich über die grafische Oberfläche arbeite halt noch von Hand gestartet.
    Da ich den Pi aber auch nicht andauernd neu starte ... egal.


    Nächster Schritt ist das Ein- und Ausschalten einer externen HDD (sowie ich sie gemountet bekomme, siehe Pi2 Raspbian + 3TB HDD?), sowie das verschieben der Videos auf diese HDD ... aber im großen und Ganzen steht hier der Code so weit schon, muss noch ein paar Parameter bestimmen und für die Ausgabe auf einer Digit-Anzeige coden ... aber so langsam wirds. :)

    Mein py-Script zur Kontrolle ob mein Internetzugang funktioniert und Protokollierung, wenn er nicht funktioniert (um meinem Anbieter ans Schienbein zu pinkeln) funktionierte bis auf Kleinigkeiten auf Anhieb. :)

    THNX, LG synth

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig


  • Mein py-Script zur Kontrolle ob mein Internetzugang funktioniert und Protokollierung, wenn er nicht funktioniert (um meinem Anbieter ans Schienbein zu pinkeln) funktionierte bis auf Kleinigkeiten auf Anhieb. :)

    Ist es möglich, dieses Script mal zu sehen?

    LG Kokiri

  • Die 7 Kontroll-URLs (h0 bis h6) müssen belegt werden ... h0 ist die Auslöse-URL, welche kontrolliert wird (ich habe google.de benutzt)
    h0 = "google.de"
    weiter geht es mit h1 bis h6

    beide müssen von Hand erstellt werden, auch die Textdatei (iperror.log)!
    logdir = "/home/pi/iplogger/"
    logfile = "iperror.log"

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig

  • Hm darf ich dir dazu ein Verbesserungsvorschlag unterbreiten? ;)

    Ich würde die Adressen zum pingen in eine Tuple setzen und dann nur noch eine for Schleife nutzen um diese zu prüfen. Auch würde ich auf os.system("ping ... verzichten, da eine Überprüfung ob ein Host/IP erreichbar ist einfach mithilfe einer socket Verbindung geprüft werden kann.
    Problem bei deiner Lösung könnte aber auch sein wenn einfach nur der DNS nicht funktioniert, dann würde dein Script auch schon "spinnen" ;)

    => http://codepad.org/nWhkxmeQ
    [code=php]
    #!/usr/bin/python
    # -*- coding: utf8 -*-

    import socket
    from time import strftime


    checkAddresses = ('google.de', '8.8.8.8', '1.1.1.0')
    logdir = "/tmp/"
    logfile = "iperror.log"


    datum = strftime("%H:%M:%S %d.%m.%Y")
    checked = 0
    total = len(checkAddresses)

    for aip in checkAddresses:
    try:
    socket.gethostbyaddr(aip)
    print "Checked %s - its up!" % aip
    checked += 1
    except socket.herror:
    print "Checked %s - its down!" % aip

    if checked != total:
    print datum + " - Kein Internetzugang"
    with open(logdir + logfile, "a") as fh:
    fh.write(datum + " - Kein Internetzugang\n")

    #EOF
    [/php]

    :angel:

  • Danke Dir ...

    ist natürlich eine andere Möglichkeit ... war dennoch mein erstes Script, welches so ziemlich auf Anhieb funktioniert hat. :) Klar gibts immer Verbesserungswürdiges :)

    Von der Logik her vollkommen klar ... ich wäre aber noch nicht dazu fähig gewesen das Ganze auf python umzusetzen. :)

    EDIT: Wobei ich "IndentationError: expected an indented block" bekomme für "if checked != total:"

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig

    Einmal editiert, zuletzt von synth (28. März 2016 um 22:39)

  • Hm komisch, funktioniert bei mir:

    Code
    root@raspberrypi:/tmp# python p.py 
    Checked google.de - its up!
    Checked 8.8.8.8 - its up!
    Checked 1.1.1.0 - its down!
    22:48:19 28.03.2016 - Kein Internetzugang
    root@raspberrypi:/tmp#

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!