NEWS
Aktion am letzten Tag des Monats
-
Guten Morgen zusammen,
ich würde gerne immer am letzten Tag des Monats um 23:59 Uhr eine Aktion ausführen. Aktuell behelfe ich mir mit 4 Cron Jobs... 1x für die Tage mit 31 Tagen, dann für 30, 29 und 28.
wie kann ich das denn eleganter lösen? Danke für eure Tipps vorab.
LG
Frank -
-
@david-g das klappt bei mir nicht. den Beitrag hatte ich schon gefunden.
-
Doch das geht einwandfrei, habe es fast identisch am laufen um mich benachrichtigen zu lassen.
Vielleicht baust es noch mal neu!
Ich hab es so am laufen, ist aber ja im Grunde das selbe:
-
@frana120500
Warum machst du es nicht umgekehrt
An jedem 1. um 0.00 ich habe das so gemacht. Ist auch eigentlich noch genauer weil du bei der anderen Methode noch 59sekunden mit in den neuen Monat nimmst. -
@thebam nein, es muss genau um 23:59 Uhr am letzten Tag des Monats erfolgen. Am 01. des Monats funktioniert mein weiteres Script nicht
@Cinimod ich versuche es gerne nochmal, aber im Dezember hat es nicht geklappt. Ich verstehe den Cron auch ehrlich gesagt nicht. Der wird doch an 4 Tagen hintereinander um 08:00 Uhr ausgeführt
bringt es was die Systemzeit zu ändern um jetzt testen zu können?
-
Man kann einen cron auch um 23:59:59 laufen lassen...
@frana120500
Da du es um 23:59 Uhr laufen lässt, würde ich die Prüfung verkürzen. 86400 Sekunden (*1000 wg. Millisekunden) entspricht einem ganzen Tag. Bei dir würden bspw. auch 2 Stunden genügen, um festzustellen ob der morgige Tag der 1. ist und somit aktuell heute der monatsletzte.2 Stunden = 3600 sek *2 *1000 = 7200000
...und ja, Zeit verstellen funktioniert
-
@frana120500 sagte in Aktion am letzten Tag des Monats:
das klappt bei mir nicht. den Beitrag hatte ich schon gefunden.
ich nutze das so, allerdings nur mit 10 MInuten (=600000msec) und das klappt.
Da musst du schon etwas genauer angeben was da nicht klappt und was statt dessen passiert
Dann kann man helfen zu suchen wo der Denkfehler ist -
Ja der Trigger ist auf 4 Tage in Folge gestellt, weil eben nur an diesen 4 Tagen der Monatsletzte sein kann, dann braucht der Trigger nicht jeden Tag unnötig auslösen und schauen ob morgen der Monatserste ist.
8 Uhr ist jetzt nur für mich so gedacht, weil ich um diese Zeit benachrichtigt werden will. Du kannst da natürlich 23:59 rein schreiben, würde dann aber auch die Zeit verkürzen für die Prüfung, nur um auf Nummer sicher zu gehen, einfach die hälfte nehmen.
-
@homoran ich würde es gerne nochmal testen, allerdings ist es mir nicht möglich, die Systemzeit zu überlisten und manuell einzustellen.
muss ich halt bis monatsende warten
-
@frana120500 sagte: muss ich halt bis monatsende warten
Vergleiche für den Test mit 9 (morgen) anstelle von 1 (1. Februar) und einem CRON ohne Monatstage (nur *).
-
@paul53 ach wie doof, da bin ich gar nicht drauf gekommen
Script funktioniert. Ich denke ich bin mit den Millisekunden durcheinandergekommen, so dass die Prüfung nicht richtig war.