Cron/crontab/cronjob alle 90 Min. funktioniert nicht - Alternative

Hallo,
zuerst wollte ich cron alle 65 Minuten starten, das funktioniert aber nicht, wie ich hier bemerkt hab:
How can I set cron to run certain commands every one and a half hours? - Stack Overflow
Cron - run task every 90 min - Server Fault
65 Minuten kann ich ja schlecht in 2 Jobs packen. 59 oder 60 Minuten wären gar kein Problem.
Gibt’s eine Alternative zu cron?

Wie wär’s damit:

Ein cron job startet einen Prozess in 45min (ohne wiederholung).
dieser Prozess startet einen anderen cron job ebenfalls in 45min (ohne wiederholung).
Der zweite cron job startet den eigentlichen Prozess und den ersten cron job in 45min (ohne wiederholung).

bye
TT

Kannst du mir eine Alternative für Debian nennen, wo ich einfach
alle 65 oder 90 Minuten java -jar jar1.jar
schreiben kann (Anacron?)?

Ich bin mir nicht sicher, ob es bei dieser Alternative funktioniert, aber du könntest systemd-Timer verwenden. Alternativ vielleicht noch runwhen, die ich als Cron Alternative empfehlen würde, wenn du daemontools verwendest.

*** Edit ***

Ich weiß nicht, ob das funktioniert, aber ich habe folgenden Vorschlag für deine systemd-Konfiguration:
date.timer:


[Unit]
Description=Run date.service every 90 minutes

[Timer]
Unit=date.service
OnCalendar=0/2:0/30

date.service:


[Unit]
Description=Prints date into /tmp/date file

[Service]
Type=oneshot
ExecStart=/usr/bin/sh -c '/usr/bin/date >> /tmp/date'

Die Direktive ‘Service.ExecStart’ kannst du dann für den Start des Java-Programms verwendet. Nachdem diese Konfiguration installiert hast, musst du nur systemctl start date.timer ausführen.

*** Edit ***

Hab es mittlerweile getestet, funktioniert einwandfrei.

@mdickie : hast du die Änderung in date.timer bei OnCalendar absichtlich gemacht? Vorher sah es für mich plausibler aus als jetzt :wink:

@cmrudolph : Ist dir wohl aufgefallen. Sah für mich vorhin auch plausibler aus, aber das scheint zu funktionieren. systemctl list-timers zeigte mir vorhin in Tests, dass das Unit 120 Minuten zur nächsten Durchführung benötigt. Das was ich jetzt gepostet habe, benötigt zur nächsten Ausführung 90 Minuten, also dürfte die jetzt gepostete Version stimmen.

Und worin besteht das Problem einfach zwei Crontab-Zeilen zu schreiben? Wie in den Stackoverflow-Links:

0 0,3,6,9,12,15,18,21 * * * <commands>
30 1,4,7,10,13,16,19,22 * * * <commands>