Zarządzanie zadaniami wykonywanymi cyklicznie lub w przyszłości

Często potrzebować będziemy możliwość wykonywania danych czynności w określonej przyszłości, czy to cyklicznie czy jednokrotnie. Pierwszą czynność możemy zlecić demonowi cron albo anacronowi. Co do zadań jednokrotnych to najlepiej wykona je atd.

Demon Cron pozwala wykonywać czynności cykliczne w określonych momentach przyszłości. Aby zdefiniować nowe zadanie należy wydać polecenie crontab. Uruchomi to edytor zadań dla tego demona. Następnie określamy datę i czas wykonania go. W tym celu należy wpisać w pięć kolumn dane określające czas. Pierwsza kolumna oznacza minuty (0-59), druga godziny(0-23), trzecia dzień miesiąca (0-31), czwarta miesiąc (0-12), piąta dzień tygodnia (0-7). Gwiazdka jest znakiem globalnym i oznacza wykonaj zawsze.

Przykład: wykonujmy codziennie o północy, przy pomocy polecenia tar, kopie katalogu użytkowników w celu zabezpieczenia go przed uszkodzeniami i zapiszmy ją w katalogu /backup pod nazwa backup.tgz

0 0 * * * tar -zcf /backup/backup.tgz /home

Należy pamiętać, że jeśli istnieje plik /etc/cron.allow, użytkownik który ma korzystać z cron-a musi być tam wpisany.

Demona anacron można potraktować jako uzupełnienie funkcjonalne crona. Problemem Crona jest brak możliwości określenia przedziału czasowego wykonywania zadnia np.: 2 tygodni. Innym brakiem jest potrzeba ciągłej pracy systemu co nie zawsze możemy zagwarantować (np.: brak prądu). Pomocny może się tutaj okazać anacron.

Przykład z pliku /etc/anacrontab. Poniższe polecenie jest wykonywane codziennie z 5 minutowym opóźnieniem, nazwa zadania to cron.daily a polecenie uruchamiane to run-parts /etc/cron.daily

1       5       cron.daily              run-parts /etc/cron.daily

Jeżeli chcemy coś wykonać jednokrotnie, nie ma sensu zatrudniać do tego poprzednio omawianych programów. Wystarczy tutaj demon atd. W celu zdefiniowania akcji w przyszłości wydajemy polecenie at a jako parametr podajemy czas wykonania polecenia oraz samo polecenie. Gdy pominiemy ostatnią część będziemy mogli wprowadzić polecenie interakcyjnie.

Przykład : wyślijmy komuś sms-a (korzystając z programu sms, dostępnym w pakiecie Debiana) z życzeniami urodzinowymi za 10 minut.

at +10 minutes sms 600 000 000 "Najlepsze życzenie urodzinowe"

Więcej o każdym poleceniu dowiesz się z pomocy systemowej man albo info.

ćwiczenie 6

  1. Proszę wyłączyć komputer za 1 minutę
  2. Proszę wyłączać komputer o godzinie 18.00

Dodaj komentarz