CRON jest to potężne narzędzie dzięki któremu możemy zautomatyzować działanie naszego komputera. Jeśli jest to np. serwer, maszyna techniczna, produkcyjna – jesteśmy bardzo łatwo w stanie ustawić cykliczne wywoływanie danej komendy w ściśle określonym czasie.
Aby wylistować już zaplanowane zadania na danej maszynie wywołaj:
1 |
crontab -l |
Jeśli na dole tego pliku nie widzisz żadnych od-komentowanych wpisów (bez symbolu hasha „#” na początku linii) – nic nie jest zaplanowane.
Jeśli chcesz coś dodać do listy wywołaj:
1 |
crontab -e |
W tym momencie plik jest możliwy do edycji (wybierz edytor Nano do jego edytowania, lub każdy inny), a zapisać go możesz poprzez CTRL + o (dla edytora Nano)
Aby dodać nowe zdarzenie cykliczne na samym dole umieść wpis postaci:
1 |
5 * * * * {KOMENDA} |
Spowoduje to wywołanie zdarzenia {KOMENDA} (np. spakowanie określonego pliku albo pobranie go przez wget itd. itd) w każdej 5 minucie każdej godziny każdego dnia miesiąca itd.
Ogólnie każda z 5-ciu gwiazdek (powyżej w miejscu 1-wszej gwiazdki umieszczono cyfrę 5) oznacza osobny zakres czasu:
1 2 3 4 5 6 |
1-sza kolumna (zakres 0-59) oznacza minuty. 2-ga kolumna (zakres 0-23) oznacza godzinę. 3-cia kolumna (zakres 0-31) oznacza dzień miesiąca. 4-ta kolumna (zakres 0-12) oznacza miesiąc. (0 i 1 to styczeń) 5-ta kolumna (zakres 0-7) oznacza dzień tygodnia (0 i 7 to niedziela) 6-ta kolumna określa komendę jaka powinna zostać wykonana dla danego wiersza. |
(źródło: http://pl.docs.pld-linux.org/uslugi_cron.html)
Czyli np. poniższy zapis odpali zadanie o 2:15 każdego dnia:
1 |
15 2 * * * {KOMENDA} |
Ten natomiast uruchomi komendę zawsze 5-go dnia miesiąca o 7:30
1 |
30 7 5 * * {KOMENDA} |
Istnieją także użyteczne sformułowania pozwalające na odpalanie komendy np. co 5 minut, co drugi dzień itd.
Dekarując wpis w ten sposób – komenda ruszy co każde 5 min:
1 |
*/5 * * * * {KOMENDA} |
Natomiast tutaj komenda ruszy co 2-gą godzinę o minucie 0 czyli co 2-gą „pełną” godzinę
1 |
0 */2 * * * {KOMENDA} |
Analogicznie poniższy wpis spowoduje, że komenda ruszy co 2 godziny o 30-tej minucie
1 |
30 */2 * * * {KOMENDA} |
Czyli jak widzimy możliwość konfiguracji jest olbrzymia.
grafika: wallpaperaccess.com