Seite 1 von 1

Crontab und Stromausfall

Verfasst: Dienstag 16. Dezember 2014, 17:12
von skorpionius
Hallo,
ich habe in die offizielle crontab eine Zeile eingefügt um über eine Bash Datei eine Lampe per GPIO anzuschalten und nach mehreren Std wieder aus. Nach einem Stromausfall innerhalb der definierten Zeit geht diese aber nicht wieder an.
Was kann ich tun?

Gruß
Skorpionius

Re: Crontab und Stromausfall

Verfasst: Dienstag 16. Dezember 2014, 20:16
von Sirius3
@skorpionius: Du mußt halt beim Systemstart prüfen, ob die Lampe an oder aus sein sollte.

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 09:58
von skorpionius
Hallo ich werde meist nicht da sein wenn das vorkommen kann. Aber spätestens am nächsten Tag mütßte doch alles nach Plan ablaufen oder?

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 10:21
von Sirius3
@skorpionius: man kann auch einen cronjob so einrichten, dass er nach einem Neustart ausgeführt wird.

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 10:58
von skorpionius
toll wie geht das?

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 11:07
von BlackJack
@skorpionius: ``man 5 crontab`` und da dann nach `reboot` suchen.

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 11:15
von skorpionius
kannst du das bitte näher erklären?

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 11:43
von mutetella
@skorpionius
In der von BlackJack verlinkten man page steht:

Code: Alles auswählen

Instead of the first five fields, one of eight special strings may appear:

string       meaning
@reboot      Run once, at startup.
[/size]Daraus ergibt sich dann ...

Code: Alles auswählen

@reboot /path/to/my/script/switch_light.sh
[/size]

mutetella

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 12:55
von skorpionius
aber beim reboot werden jobs die schon vor dem reboot begonnen hatten nicht mehr angefasst oder?

ich hab insgesamt 6 jobs in die offizielle crontab eingefügt

00 12 * * * pi /home/pi/rotan.sh
10 12 * * * pi /home/pi/ww1an.sh
20 12 * * * pi /home/pi/ww2an.sh
30 12 * * * pi /home/pi/kw1an.sh
40 12 * * * pi /home/pi/kw2an.sh
00 23 * * * pi /home/pi/blauan.sh

Dabei schaltet jede sh eine Lampe, die zwischen 10 min und 11 Std leuchten. Ist nun z.B. 15 Uhr Stromausfall, wird nur der job 23 Uhr ausgeführt, die anderen erst wieder am nächsten Tag.

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 13:08
von BlackJack
@skorpionius: Das ist richtig. In dem Skript bei ``@reboot`` müsstest Du anhand der Uhrzeit ermitteln welche Lampen an und Welche aus sein müssten zu der Zeit zu der es ausgeführt wird und die dann entsprechend schalten.

Falls Du *das* als Skript hast, werden allerdings auch die ganzen anderen Skripte überflüssig, weil Du dann einfach dieses neue Skript zu den Zeiten in der ``crontab`` aufrufen könntest, oder sogar grundsätzlich alle 10 Minuten, dann bräuchtest Du nur einen Eintrag, neben dem ``@reboot`` dafür. Dann könnte das ganze sogar Ontopic werden, denn so etwas würde man eher in einer vernünftigen Programmiersprache denn als Shell-Skript schreiben. :-)

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 13:15
von skorpionius
Vielen Dank für deine Mühe aber glaube das führt dann zu weit.
Kann ich denn nur die Jobs die ich eingefügt habe in eine Logdatei mitschreibenund mir einmal am Tag als Mail senden?
Ich hatte schon versucht

00 12 * * * pi /home/pi/rotan.sh >>anauslog.txt

Die Datei wird erzeugt aber sie ist leer. :(

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 13:51
von /me
skorpionius hat geschrieben:aber beim reboot werden jobs die schon vor dem reboot begonnen hatten nicht mehr angefasst oder?
Nein, das werden sie in der Tat nicht. Wenn du so etwas möchtest, dann solltest du dir anacron anschauen.

Re: Crontab und Stromausfall

Verfasst: Mittwoch 17. Dezember 2014, 14:25
von BlackJack
@/me: Ich glaube da hilft auch Anachron nicht, denn es sollen ja nicht Skripte laufen die *während* des Stromausfalls *nicht* gelaufen sind, sondern solche die *vor* dem Stromausfall *schon mal* liefen.