Nowe posty

xx Fatal error: cannot connect to database! LMS (0)
2018-09-17, 21:53:02
xx Z wielu dystrybucji linuxa działają tylko dwie. Proszę o wsparcie (17)
2018-09-13, 22:00:57
xx Szukasz pracy? (1)
2018-09-11, 20:56:19
xx Dzielenie sieci, nadawanie masek (11)
2018-09-10, 23:07:05
xx konfiguracja dhcp server na ubuntu (1)
2018-09-07, 13:05:48
xx Jak zainstalować GIMPa? (16)
2018-09-05, 08:50:05
xx Odpowiednik Windowsowego Notepad++ (2)
2018-09-03, 08:05:23
xx JS w gulpie (0)
2018-09-01, 21:02:49
xx Błąd przy uruchamianiu make menuconfig (6)
2018-09-01, 18:14:55
xx [ Gra Za Darmo przez okreslony czas ] Warhammer 40,000: Space Marine (0)
2018-08-31, 17:28:45

Autor Wątek: Cron problem z ustawieniem czasu wywołania skryptu  (Przeczytany 2006 razy)

Offline jaro~123

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 19
    • Zobacz profil
Cron problem z ustawieniem czasu wywołania skryptu
« dnia: 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

Offline Tomcio Paluch

  • Users
  • Guru
  • *****
  • Wiadomości: 676
    • Zobacz profil
Cron problem z ustawieniem czasu wywołania skryptu
« Odpowiedź #1 dnia: 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)