[BASH] Befehl nur einmal am Tag ausführen in einem alle 5 Minuten ausgeführten Skript

brenner

Commander
Dabei seit
Apr. 2002
Beiträge
2.915
Ich habe ein Bash Skript welches alle 5 Minuten von einer externen Quelle ausgeführt wird.

Ich möchte den Werte einer Variablen einmal täglich (irgendwann zwischen 23-24Uhr) in eine Textdatei exportieren, aber eben nur einmal täglich, nicht alle 5 Minuten.


Wie kann ich das bewerkstelligen?
 

Tumbleweed

Captain
Dabei seit
März 2008
Beiträge
3.566
Lass das Bash-Script diesen Wert einfach ständig in eine Datei schreiben. Die liest du per cron einmal am Tag aus.
 

brenner

Commander
Ersteller dieses Themas
Dabei seit
Apr. 2002
Beiträge
2.915
Ich hatte auf eine schöne Lösung gehofft. Ständig schreiben lassen oder so eine dumme Antwort wie die von Maybrit die nichts mit der Frage zu tun hat und eine Scriptauslagerung benötigt ist unschön.
 

Tumbleweed

Captain
Dabei seit
März 2008
Beiträge
3.566
Naja, wenn es dir so wichtig ist, check doch die Tageszeit bei jedem Durchlauf und in dem entsprechenden Abschnitt, wo exportiert werden soll, prüfst du, ob die Datei schon geschrieben wurde. Außerhalb der Zeit löschst du die Datei, wenn sie rumliegt.
 
R

Rumo

Gast
einmal täglich ne textdatei aktualisieren
Code:
if [ "$((`stat --format %Y textdatei`+60*60*24))" -lt "`date +%s`" ]
then
    mach was neues > textdatei
fi
wie man prüft obs gerade 23-24 Uhr ist überlasse ich dir...

das finden des bugs der dazu führt daß ab und an ein tag übersprungen wird auch... :)
 
Top