[Debian] Cron mit zufälliger Zeit
lima-city → Forum → Heim-PC → Betriebssysteme
ansatz
eintrag
http
job
last
nutzer
passieren
performance
problematik
ressource
run
sache
server
sicherheitsrisiko
sinnlose aktion
tag
url
wissen
woche
zeitraum
-
Hallo,
Ich suche aktuell nach der Möglichkeit einen Cron mit einer zufälligen Zeit auszuführen, zB. das Script "clear_db.sh" soll zufällig zwischen 2-3 Wochen ausgeführt werden, womit es dann entweder vom Zeitraum Anfang der 2. Woche ausgeführt werden kann aber auch ganz am Ende der 3. Woche währe möglich.
Gibt es hierzu eine Möglichkeit? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo
Google? Denken?
http://stackoverflow.com/questions/9049460/cron-jobs-and-random-times-within-giving-hours
If I understand what you're looking for, you'll need to do something a bit messy, like having a cron tag/job">job that runs a bash script that randomizes the run times... Something like this:
^ wäre wohl mein Ansatz.
oder:
http://superuser.com/questions/42450/can-i-make-cron-random
mfg -
Das gleiche hatte ich auch schon gelesen gehabt, aber da es passieren kann das der Server evtl mal wegen Wartungen heruntergefahren wird (oder sonstige Außerplanmäßigkeiten) wäre ein Sleep über eine Woche eventuell doch etwas lange, wenn man bedenkt was in der Zeit alles passieren kann^^
Gibt es vielleicht noch andere Möglichkeiten? -
ja...einen regelmäßigen cronjob und eine datei in der die letzte änderung der ausführungszeit festgehalten wird, solange die änderung nicht mindestens n tage her ist wird nichts geändert, so startet das änderungsscript zwar bspw. täglich aber es wird bspw. nur alle 2 wochen geändert, der zeitraum der möglichen werte ist dabei natürlich an das Testintervall anzupassen.
-
1. was ist der sinn eines nicht planbaren crons?
2. könntest du dir ein Script schrieben, was den alten Cron-Eintrag löscht ( die zeile cacht du am besten in einer extra file zwischen, damit du die einfach rausgreppen kannst) dann generierst du dir einen neuen eintrag, der in die file kommst, schreibst den in die cron und beim nächstne ausführne passiert das selbe... alter einrag raus, neuen reingenerieren...
ist zwar eine sinnlose aktion, aber du willst es ja so...
denkbar wäre auch eine variable, die du z.b. auf 100 setzt und du hast einen täglichen cron drin, der die variable um einen zufälligen wert dezimiert, sodass nach 14 tagen frühestens der wert 0 unterschritten wird oder spätestens nach 3 wochen... das musst du dann einfach abprüfen... ist aber auch eine schwachsinnige sache, weil sie unnötig systemressourcen frisst... wieso sollte eine datenbank "zufällig" bereinigt werden und nicht im festen rhytmus? willst du da jemanden Ärgern? -
Die Sache hat den Grund da ich gerne eine Bewertungsliste zurücksetzen will und zwar möglichst nicht immer zur selben Zeit, da sonst irgendwann die Nutzer genau um dise Zeit alle gleichzeitig ein und die selbe Aktion ausführen.
Jetzt wo ich die Problematik an der Sache gelsen hab stellt sich wirklich die frage was Ressourcen sparender wäre:
Ein Statischer Cron bei dem die Nutzer irgendwann wissen wann er ist (Gut, nach einer Zeit kann man es per Hand ändern)oder ein zufälliger der dauerhaft Ressourcen nimmt.
Für das eigentliche Projekt werde ich jetzt warscheinlich die 1. Variante nehmen, trotzdem ist es für andere Projekte gut zu wissen. -
vor allem ist es ein Sicherheitsrisiko, wenn du ein Script automatisch zu ungeregelten Zeiten in der crontab rumschreiben lässt... das Script braucht Rechte um das zu dürfen... die würde ich einem Script nie zugestehen... die ressourcen sind jetzt nicht so barbarisch, die er schluckt, kannst du dir ja selbst ausrechnen, aber es ist eine sinnlose unterbrechung, also wenn dein server shcon nter der last ächzt, dann kann es sein, dass man den check mitbekommt... von der performance her, je nachdem, wie du ihn implementierst
Beitrag zuletzt geändert: 12.12.2012 9:37:27 von sebulon -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage