bash in crontab pro stunde ausführen
- pio
- Thread is marked as Resolved.
-
-
Post by llutz ().
This post was deleted by the author themselves (). -
*/10 0-23 * * *
Heisst "Zwischen 0 und 23:59 Uhr, alle 10 Minuten".
Der Standard Crond kann nur feste Zeiten, alles andere muss getrickst werden.
Nimm eine Timer-Unit.
-
-
-
Kann man nicht alles was Zeit betrifft im Skript selber erledigen. Da hat man doch die volle Kontrolle und ist nur von einer funktionierenden Uhr abhängig. Ich frage das auch aus Interesse, da ich hier im Forum noch nichts über diese Möglichkeit gelesen habe. Nur über crontab und systemd Timer Unit.
-
Kann man nicht alles was Zeit betrifft im Skript selber erledigen.
Ja kann man mit Start bei Systemstart und einer Schleife, aber bei 70 Minuten schlafen wäre das Unsinn.
//Edit
Dann hast du 69 sleeps in Wartestellung und anschliessend einen Haufen in minütlichen Abstand ausgeführte test.sh...
Genau darauf wollte ich hinweisen. Du hast es aber verständlicher ausgedrückt.
Das "Sorum wäre es richtig" bezog sich lediglich auf auf die Syntax hinter den Sternchen.
-
-
pio Warum keine Timer-Unit? Die beissen nicht.
systemd verstehe ich noch nicht ganz. Sehe aber keine andere Möglichkeit.
-
Ich hoffe ich habe keinen Fipptehler im Code oder etwas übersehen. (*)
Du erstellst eine testskript.service-Datei
Code: /etc/systemd/system/testskript.service
Display More[Unit] Description=mein Skriptstart After=network.target [Service] Type=simple ExecStart=/bin/bash /home/pi/Desktop/bash/test.sh User=pi [Install] WantedBy=multi-user.target
und eine testskript.timer-Datei
Code: /etc/systemd/system/testskript.timer[Unit] Description=Timer fuer mein Skriptstart [Timer] OnBootSec=2min OnUnitActiveSec=70min Unit=testskript.service [Install] WantedBy=multi-user.target
Dann noch in Terminal mit systemctl daemon-reload den Daemon neu starten,
mit systemctl enable testskript.timer den Timer aktivieren, damit dieser nach einem Neustart mit geladen wird
und mit systemctl start testskript.timer den Timer starten.
*)//Edit Jetzt kam ich endlich mal zum testen. Habe für den Test 3min eingestellt und lasse mir mit einem kleinem Skript einfach das Datum + Uhrzeit in eine Datei schreiben. Hier der Inhalt:
Code2021-11-16 22:12:15 2021-11-16 22:16:05 2021-11-16 22:19:15 2021-11-16 22:23:15 2021-11-16 22:27:15 2021-11-16 22:31:05 2021-11-16 22:34:15 2021-11-16 22:38:15
Sind nicht immer ~ 3 Minuten... naja da hatte der RPi wohl gerade etwas besseres zu tun.
-
Die beissen nicht.
Die wollen nur spielen
Kann man nicht alles was Zeit betrifft im Skript selber erledigen. [...]. Ich frage das auch aus Interesse
Ich kann darauf nur für Python antworten. Kann man da machen und es gibt auch Bibliotheken dafür, z.B.: Schedule
Grüße
Dennis
-
-
Ich hoffe ich habe keinen Fipptehler im Code oder etwas übersehen.
Du erstellst eine testskript.service-Datei
Code: /etc/systemd/system/testskript.service
Display More[Unit] Description=mein Skriptstart After=network.target [Service] Type=simple ExecStart=/bin/bash /home/pi/Desktop/bash/test.sh User=pi [Install] WantedBy=multi-user.target
und eine testskript.timer-Datei
Code: /etc/systemd/system/testskript.timer[Unit] Description=Timer fuer mein Skriptstart [Timer] OnBootSec=2min OnUnitActiveSec=70min Unit=testskript.service [Install] WantedBy=multi-user.target
Dann noch in Terminal mit systemctl daemon-reload den Daemon neu starten,
mit systemctl enable testskript.timer den Timer aktivieren, damit dieser nach einem Neustart mit geladen wird
und mit systemctl start testskript.timer den Timer starten.
werde es ausprobieren danke
kann geschlossen werden
-
* * * * * sleep 4200 /bin/bash /home/pi/Desktop/bash/test.sh
eine ganz, ganz dumme Idee.
Denn nach dem ersten Sleep hängen für jede Minute ein Job in der "Warteschlange", und jede Minute kommt ein Job hinzu. Da dauert es nicht wirklich lange, bis das System bis zur Unbrauchbarkeit ausgelastet ist.
Und dann hilft oft nur noch ein hartes Ausschalten.
-
Rasp-Berlin Naja, so wie es da steht passiert erstmal, dank fehlendem Operator, garnichts, bzw. wirft das einen Fehler in die Logs. Und das mit dem wiederholten Aufruf und den 69 Jobs in der Warteschlange wurde auch schon geschrieben.
-