Crontab per Script verändern

  • Hallo an alle,

    ich suche nach einer Möglichkeit ein Cronjob täglich zu bearbeiten.
    Sinn ist folgender:
    Ich habe ein script welche mir den Sonnenaufgang ausgibt und eben diese Uhrzeit soll in die Crontab eingetragen werden und das zu dieser Uhrzeit ein Script ausgeführt wird.
    Das gleiche soll noch mit dem Sonnenuntergang passieren.
    Die Crontab soll täglich geändert werden und andere Einträge in der Crontab sollen unverändert bleiben.
    Gibt es eine Möglichgkeit nur eine bestimmt Zeile in der Crontab zu ändern?
    Leider finde ich im Netz nix passendes. Vielleicht hat ja jemand eine gute Idee zu Hand.

    Gruß
    Benny

  • Hallo,

    sed bringt mich schon mal etwas weiter nun habe ich das Problem beide Scripte zu kombinieren.
    Das eine Python-Script gibt per "print"-Befehl die neue Zeile aus nur wie sag ich mit sed das er diese Zeile schreiben muss?
    Bin leider noch etwas unerfahren in Python... :(

    Hier mal das Script, ganz am Ende kommt die Ausgabe:


    [/php]
    Benny

    Einmal editiert, zuletzt von JizzY (13. April 2015 um 22:08)

  • Schreib einfach den gewünschten Crontabeintrag in eine Datei, führe dann den crontab Befehl aus und übergib die veränderte Datei.

    Beispiel:

    /tmp/cron

    Code
    * * * * * /bin/date > /tmp/blub
    Code
    crontab /tmp/cron

    Fertig. Die Crontab des Benutzers wird dann vollständig überschrieben und ist dann auch sofort aktiv.

  • FAQ => Nützliche Links / Linksammlung => crontab

    Für Sonnenauf- und untergang bedarf es aber einer gewissen Berechnung, da das je nach Jahreszeit unterschiedlich ist. Da wäre es sinnvoller ein Script jede Minute auszuführen und dann in diesem Script die entsprechende Berechnung vorzunehmen und bei bedarf die gewünschte aktion durchzuführen...
    Da hilft dann eine Google Suche nach: python sunset
    Oder: python twilight

  • Alternativ habe ich diese Lösung gefunden https://webcache.googleusercontent.com/search?q=cache…e&ct=clnk&gl=de

    Leider überfordert mich die Umsetzung dieser Lösung da diese zu viel Hintergrundswissen erfordert.

    Bildlich erklärt will ich nur paar Löcher in die Wand haben und keine Exkursion wie man selbst Bohrmaschinen baut, Bohrer an der CNC Frässe fräst oder wo man am besten die Rohstoffe dafür in der Natur findet für die eigene Metallschmelze.

    Einmal editiert, zuletzt von Alpenpeter (25. Oktober 2016 um 00:04)

  • Zunächst mal solltest du für dein spezielles Anliegen einen eigenen Thread / Thema erstellen, da das im Grunde nichts mehr mit dem Anliegen von/für JizzY zu tun hat.

    Und allgemein wird auf dem Pi sehr viel mit Python gemacht, hierfür gibts wie gesagt auch einfache Module die das (sunset/sunrise) für dich übernehmen.
    Es schadet auf jeden Fall nicht die "Anleitung zum richtig bohren" zu lesen bevor du eine Wasserleitung kaputt machst und deine Wohnung flutest :fies:
    Etwas fix und fertiges für Dein individuelles Vorhaben zu finden wird denk ich schwierig, zumal keiner von Uns in Dein Kopf gucken kann, es fehlen also jede Menge Hintergrundinformationen.
    Linux hat den Vorteil das es zu 99% der Befehle eine sog. manual Page gibt, also eine Hilfe was der Befehl kann usw... Einfach mal eingeben: man man
    Der in dem von dir gefundenen Artikel wichtigste Bestandteil bezüglich Crontab ist "at". Linux Grundlagen vorausgesetzt, installiert man sich diesen Befehl und guckt dann in dessen manpage.

    Code
    sudo apt-get update
    
    
    sudo apt-get install at
    
    
    man at

    Aber wie gesagt: Bitte einen eigenen Thread für dein Vorhaben erstellen.

  • => https://wiki.ubuntuusers.de/man/

    Zitat

    Die Manpages liegen in der Regel in englischer Sprache vor. Wer sie auf deutsch bevorzugt, sollte sich das Paket manpages-de installieren [3].
    Auch ohne obiges Paket werden teilweise deutsche Manpages installiert, die bei entsprechend gesetzter LANG-Umgebungsvariable auch standardmäßig angezeigt werden. [...]

Jetzt mitmachen!

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