Forum Linux.pl

Oprogramowanie => Usługi => Wątek zaczęty przez: jaro~123 w 2014-08-28, 12:33:51

Tytuł: Cron problem z ustawieniem czasu wywołania skryptu
Wiadomość wysłana przez: jaro~123 w 2014-08-28, 12:33:51
Witam, próbuje ustawić crona aby po przekroczeniu 5 dni wywoływał skrypt, wpis w cronie wygląda tak:
0 0 0 1/5 * ? * czy jest to prawidłowy zapis?

drugie moje pytanie dotyczy sposobu działania
czy cron wykona niezwłocznie zadanie po znacznym przekroczeniu terminu? tz. np.
po ostatnim poprawnym wywołaniu crona np. w poniedziałek 01.08.2014 mija 8 dni bez kolejnego wywołania crona ponieważ komputer był wyłączony, włączam komputer w dniu 08.08.2014 i cron "zauważył" że już minął termin i od ręki uruchamia zadanie? Czy dobrze rozumię sposób działania? czy może cron bedzie uruchamiał zadania co 5 dni bez względu na przekroczone terminy?

chciałbym ustawić w taki sposób crona aby zawsze po przekroczeniu 5 dni wykonał zadanie, i nieważne czy od ostatniego wywołania minie 5 dni i 1minuta czy też 6 dni - cron po włączeniu kompa wykona zadanie
Tytuł: Cron problem z ustawieniem czasu wywołania skryptu
Wiadomość wysłana przez: Xax79 w 2014-08-28, 15:33:04
Sugerowałbym może najpierw poczytać o samym cronie. Dowiedział byś się wtedy, że zajmuje się on uruchamianiem zadań w sposób okresowy (cykliczny jak ktoś woli taką definicję). Sprawdza on co minutę czy w danej chwili nie powinno zostać uruchomione zadanie zgodnie z konfiguracją. W rezultacie albo jakieś zostaną uruchomione albo nie. Nie uruchamia on zadań zaległych. Coś takiego możesz jednak zasymulować sobie sam. Wystarczy aby Twoje zadanie zapisywało gdzieś czas ostatniego uruchomienia i w zależności od tego ile czasu minęło albo kontunuowało swoje działanie albo przerywało. Cron zaś odpala to zadanie raz dziennie (albo częściej wedle uznania). W efekcie masz co chciałeś.

Twój wpis w cronie czepia się miesięcy a nie dni i powinien mieć postać */5 czyli co piąty miesiąc. Kolejność kolumn jest następująca:
minuta godzina dzień(miesiąca) miesiąc dzień(tygodnia)