Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykonanie skryptu w ostatni dzień miesiąca
Forum PHP.pl > Forum > PHP
Lacki2006
Witam
Potrzebuję zrobić tak aby zawsze ostatniego dnia miesiąca został wykonany skrypt, myślałem o ustawieniu crona tylko czy da się tak ustawić aby zawsze ostatniego dany plik został wykonany zmienia się przecież data raz miesiąc ma 30 dni raz 31 a i 29 lub 28 w lutym bywa .
Ma ktoś pomysł jak to zrobić ?

viking
Kod
00 23 * * * [[ $(date +'%d') -eq $(cal | awk '!/^$/{ print $NF }' | tail -1) ]] && zadanie


A jak masz farta to cron obsługuje flagę "L".
W sumie możesz też użyć @monthly który powinien się o północy wykonać.
LowiczakPL
Jeśli brak L-ki to proponuję.

1. Jeśli ostatniego dnia miesiąca to może nie zrobi Ci to różnicy jak wykonasz to pierwszego dnia minutę po północy

2. Albo wykonujesz od 28 do 31 a w skrypcie sprawdzasz czy dziś to ostatni dzień miesiąca jeśli tak to odpalasz procedurę, w sumie skrypt wykona się tylko 3 razy to żadne obciążenie.
Lion
ostatecznie, na początku skryptu:

  1. if (date('Y-m-d') !== date('Y-m-t)) {
  2. die();
  3. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.