Prowadzić pracę Cron co minutę

Prowadzić pracę Cron co minutę
Jeśli chcesz uruchomić program lub skrypt w tle na Linux, zadanie CRON jest bardzo ważne. Za pomocą zadań CRON możesz wykonać program lub skrypt w tle po danym przedziale czasu.

Rzućmy okiem na niektóre z prawdziwych przykładów pracy Cron.

  • Powiedzmy, że jesteś właścicielem witryny i chcesz codziennie wysyłać wszystkich użytkowników swojej witryny e -mail. Wszystko, co musisz zrobić, to napisz wiadomość e -mail wysyłając skrypt i skonfiguruj zadanie CRON, aby uruchamiać ten skrypt każdego dnia.
  • Powiedzmy, że jesteś właścicielem agencji reklamowej i chcesz przypomnieć wszystkim reklamodawcom, których saldo jest poniżej 5 $ do ładowania. Wszystko, co musisz zrobić, to napisać skrypt, który sprawdza saldo wszystkich reklamodawców, a gdy jest poniżej 5 $, wyśle ​​powiadomienie do numeru telefonu komórkowego lub e -maila reklamodawcy. Następnie skonfiguruj zadanie CRON, aby uruchomić skrypt co 5 do 10 minut lub co godzinę.

Istnieje wiele innych zastosowań CRON w Linux.

W tym artykule pokażę ci, jak uruchamiać CRON Jobs co minutę w Linuksie. Będę używać debiana 9 odcinka do demonstracji. Ale możesz użyć dowolnego nowoczesnego rozkładu Linux. Zacznijmy.

Podstawy crontab:

W Linux nie musisz być źródło Aby uruchomić CRON Jobs. Możesz uruchomić zadania CRON jako każdy użytkownik. Każdy użytkownik w Linux może użyć crontab Plik do uruchomienia własnego zestawu zadań CRON.

Domyślnie użytkownik nie ma crontab Plik w Linux. Możesz utworzyć crontab Plik z następującym poleceniem:

$ crontab -e

Jeśli po raz pierwszy uruchamiasz to polecenie, powinieneś zostać poproszony o wybranie edytora tekstu z listy. Wybiorę Nano, Domyślny. Możesz wybrać ten, który lubisz. Po zakończeniu naciśnij .

crontab Plik powinien zostać utworzony (jeśli już nie jest dostępny) i otwierany z ulubionym edytorem tekstu. Teraz możesz dodać własne zadania CRON na końcu tego pliku, a kiedy jesteś szczęśliwy, po prostu zapisz i wyjdź z edytora tekstu.

Składnia uruchamiania polecenia co minutę:

Składnia crontab Plik jest następujący:

Minute Hour Dayofonth miesiąc Dayofweek Commertorun

Tutaj,

  • minuta może być 0 Do 59.
  • godzina może też być 0 Do 59.
  • dzień miesiąca może być 1 Do 31.
  • miesiąc może być 1 Do 12.
  • dzień tygodnia może być 0 Do 7. 0 I 7 oznacza niedzielę, 1 oznacza poniedziałek, 2 oznacza we wtorek i tak dalej.

Aby uruchomić Commandtorun dowodzić każdą minutą, powinieneś napisać to w crontab Plik w następujący sposób:

* * * * * Commandtorun

Prowadzenie pracy CROB co minutę:

Teraz, gdy znamy teorie, dodajmy prosty skrypt regulator czasowy.cii do crontab Plik i zobacz, jak sobie z tym poradzić.

w regulator czasowy.cii skrypt, mam tylko następujące wiersze kodów. Wszystko, co robi to utworzenie nowego pliku /dom/shovon/bin/timer.dziennik (Jeśli już nie istnieje) i dołącza do niego dane wyjściowe polecenia daty.

Teraz dodajmy skrypt do naszego crontab i niech działa każda minuta z następującą linią:

* * * * */home/shovon/bin/timer.cii

Gdy uratujesz crontab złożyć i wyjść z edytora tekstu, nowy crontab Plik należy zainstalować.

Po minucie jest nowy plik regulator czasowy.dziennik jest tworzony w pożądanym katalogu, jak widać w zaznaczonej sekcji zrzutu ekranu poniżej.

Z regulator czasowy.dziennik plik dziennika, oczywiste jest, że skrypt regulator czasowy.cii działa co minutę.

Łapanie błędów z pracy Cron:

Aby złapać błędy z pracy cron, możesz wysłać błędy do błąd.dziennik plik i normalne wyjścia do dostęp.dziennik na przykład plik. Oczywiście możesz nazwać pliki, co chcesz.

Aby to zademonstrować, zmodyfikowałem swój skrypt regulator czasowy.cii troszkę. Teraz błędy są wysyłane do błąd.dziennik plik w /dom/shovon/bin katalog i wyniki są wysyłane do dostęp.dziennik w /dom/shovon/bin informator.

Na początku /tmp/i_must_be_here Plik nie istnieje, więc otrzymuję błąd w błąd.dziennik Plik, jak widać.

dostęp.dziennik Plik jest w tej chwili pusty.

Teraz zamierzam utworzyć plik /tmp/i_must_be_here

I jak widać, wyjście jest w dostęp.dziennik plik teraz.

Jeśli chcesz, możesz przekierować dane wyjściowe i błędy w tym samym pliku, co następuje:

Jak widać, wyjścia stdin i stderr są wysyłane do na zewnątrz.dziennik plik.

Upewnij się, że ostatnia praca zakończyła się przed ponownym uruchomieniem pracy:

Aby to zadziałało, możesz utworzyć plik tymczasowy tuż po rozpoczęciu zadania i usunąć go tuż przed zakończeniem. Następnie możesz sprawdzić, czy plik tymczasowy istnieje przed rozpoczęciem pracy. Jeśli tak, możesz wyjść z zadania i uruchomić zadanie tylko wtedy, gdy plik tymczasowy jest niedostępny.

Ten prosty skrypt właśnie to robi.

Jak widać, regulator czasowy.pid Plik jest tworzony.

Czytanie dostęp.dziennik Plik dowodzi, że zadanie CRON nie działa przed ukończeniem poprzedniego zadania CRON. Jak widać, działało o 01:32:01 i następnym razem, gdy powinien był uruchomić o 01:33:01, ale nie tak nie było. Zamiast tego działo się o 01:35:01, około 3 minuty później.

Organizowanie wyników pracy CRON w celu łatwego debugowania:

Możesz ładnie sformatować wyniki, aby ułatwić debugowanie pracy CRON.

Przykład tego, jak można to zrobić, jest podany w następującym skrypcie.

Jak widać, wyniki, komunikaty o błędach i sukcesie są ładnie wydrukowane w pliku dziennika.

Możesz robić niesamowite rzeczy z pracami Cron i skorupami. Wykazałem tutaj niektóre pomysły. Ale niebo jest twoim limitem. Zapraszam do eksperymentowania z wszelkimi pomysłami. Dziękujemy za przeczytanie tego artykułu.