Script alle paar Minuten starten

Keine Ahnung?
Code:
$ echo $(( $(date -d"Mon Jan 19 17:47:13 CET 2009" +%s) % (60*75) ))
133
Mir eigentlich auch relativ egal.

Gott_in_schwarz schrieb:
Hm. Ich lass das einfach mal laufen heute, mal schaun.
Code:
#!/bin/bash

SECONDS_NOW=$(date +%s)

INTERVAL=$((75 * 60)) # 75 minutes in seconds...

[[ $((SECONDS_NOW % INTERVAL)) -ge 15 ]] && exit 1
# 15 seconds tolerance


date >> /home/user/cronlog

Code:
$ cat cronlog
Mon Jan 19 19:00:01 CET 2009
Mon Jan 19 20:15:01 CET 2009
Mon Jan 19 21:30:01 CET 2009
Mon Jan 19 22:45:02 CET 2009
Tue Jan 20 00:00:02 CET 2009
Und wie du siehst war die Idee mit den paar Sekunden Toleranz auch nicht verkehrt.
Ist halt ein möglicher Workaround, genauso wie die endlos-while Schleife.
Man könnte auch am Ende des Skripts einen (pseudo)rekursiven Aufruf des Skripts zeitverzögert mit "at" machen:
Code:
at -f "$0" now + 75 minutes
Möglichkeiten gibts genug.
 

Ähnliche Themen

systemd service mit Bash Script und Subshell in einer tmux Umgebung

Shell script will nicht richtig laufen in einem cronjob

chown Befehl in einem Script

Script pausieren bis Bedingung erfüllt ist

batch script funktioniert nicht ...brauche hilfe

Zurück
Oben