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
- Proszę wyłączyć komputer za 1 minutę
- Proszę wyłączać komputer o godzinie 18.00