Jeżeli mówimy o Linuksie to najlepszym przykładem będzie program CRON.
Jest to jedno z podstawowych narzędzi w systemach unikosowych. Niektórzy porównują działanie tego programu do budzika. Po prostu ustawiamy godzinę i częstotliwość oraz wybieramy, który skrypt lub program ma się wykonywać w danym czasie.
Program cron korzysta ze specjalnego pliku o nazwie crontab. To właśnie w tym pliku zapisywane są informacje na temat tego co i kiedy ma zostać uruchomione. Aby zobaczyć i edytować zawartość tego pliku należy wydać komendę:
crontab -e
Jeżeli uruchamiasz ten plik po raz pierwszy to prawdopodobnie będzie pusty. Czasami jednak są tam umieszczone różne zadania, które system dodaje automatycznie.
Opiszę działanie poszczególnych wpisów w crontab na przykładzie:
45 4 1 * * /home/user/backup.sh
W tym przykładzie zostanie uruchomiony skrypt o nazwie backup.sh o godzinie 4:45 pierwszego dnia każdego miesiąca. To właśnie lewa część powyższego wpisu jest odpowiedzialna za czas uruchomienia, natomiast prawa strona jest odwołaniem do skryptu, który ma się wykonać.
Liczby i gwiazdki przedstawiają okresy czasowe zaczynając od minuty. Tak więc po kolei mamy minuty, godziny, dni miesiąca, numer miesiąca (1-12) i dzień tygodnia. Dzień tygodnia jest liczony od 0 i oznacza ono niedziele.
Gwiazdki postawione przy numerze miesiąca i dniu tygodnia oznaczają, że nie mają one wpływu na uruchamianie skryptu. Skrypt zostanie uruchomione zawsze pierwszego dnia miesiąca o godzinie 4:45.
Po edycji pliku należy go zapisać i zamknąć. Od teraz obowiązuje nowa tablica crontab. Jeżeli chcemy tylko wyświetlić naszą tablicę crontab, musimy wydać następujące polecenie:
crontab -l
Istnieje również możliwość usunięcia całej tablicy:
crontab -r
Oczywiście powyższy opis pomoże na pewno w sytuacjach, gdy chcemy uruchomiać nasz skrypt w określonych przedziałach czasu, ale co zrobić gdy musimy go wykonać w przedziałach czasu niekoniecznie równomiernych? Można utworzyć kilka zadać crontab ale to jest bardziej pracochłonne. Jest szybszy sposób. Można wykorzystać specjalne symbole do dokładniejszego określenia czasu. Mamy do dyspozycji 3 dodatkowe symbole:
1. Przecinek (,) - za jego pomocą można określić kilka wartości w jednej kolumnie. Poniższy przykład uruchomi skrypt każdego 1,4 i 26 dnia każdego miesiąca:
4 45 1,4,26 * * /home/user/backup.sh
2. Łącznik (-) - umożliwia on określanie zakresów kolumny. Poniższy wpis uruchamia skrypt codziennie przez pierwsze 15 dni każdego miesiąca:
4 45 1-15 * * /home/user/backup.sh
3. Ukośnik (/) - dzieli zakres kolumny na równe części. Poniższy zapis będzie uruchamiał dany skrypt co 15 minut:
*/15 * * * * /home/user/backup.sh
Mam nadzieję, że ten krótki opis ułatwi każdemu wprowadzanie automatyzacji we własnym systemie.
Brak komentarzy:
Prześlij komentarz