4.Linux для Не Начинающих - Выполнение по расписанию - crontab
Spisu treści:
- Co to jest plik Crontab
- Składnia i operatory Crontab
- Pliki systemowe Crontab
- Predefiniowane makra
- Linux Crontab Command
- Zmienne Crontab
- Ograniczenia Crontab
- Przykłady Cron Jobs
- Wniosek
Cron to demon planowania, który wykonuje zadania w określonych odstępach czasu. Te zadania są nazywane zadaniami cron i są najczęściej używane do automatyzacji konserwacji lub administracji systemu.
Na przykład można ustawić zadanie cron w celu zautomatyzowania powtarzających się zadań, takich jak tworzenie kopii zapasowych baz danych lub danych, aktualizowanie systemu o najnowsze poprawki bezpieczeństwa, sprawdzanie wykorzystania miejsca na dysku, wysyłanie wiadomości e-mail i tak dalej. Niektóre aplikacje, takie jak Drupal lub Magento, wymagają zadań cron do wykonania określonych zadań.
Zadania cron można zaplanować na minutę, godzinę, dzień miesiąca, miesiąc, dzień tygodnia lub dowolną ich kombinację.
Co to jest plik Crontab
Crontab (tabela cron) to plik tekstowy, który określa harmonogram zadań cron. Istnieją dwa typy plików crontab. Ogólnosystemowe pliki crontab i indywidualne pliki crontab użytkownika.
Pliki crontab użytkowników są przechowywane pod nazwą użytkownika, a ich lokalizacja zależy od systemu operacyjnego. W systemie opartym na Red Hat, takim jak CentOS, pliki crontab są przechowywane w katalogu
/var/spool/cron
natomiast w plikach Debian i Ubuntu są przechowywane w katalogu
/var/spool/cron/crontabs
.
Chociaż możesz ręcznie edytować pliki crontab użytkownika, zalecane jest użycie polecenia
crontab
.
/etc/crontab
i pliki w
/etc/cron.d
są ogólnosystemowymi plikami crontab, które mogą być edytowane tylko przez administratorów systemu.
W większości dystrybucji Linuksa możesz również umieszczać skrypty w katalogach
/etc/cron.{hourly, daily, weekly, monthly}
a skrypty będą wykonywane co
hour/day/week/month
.
Składnia i operatory Crontab
Każdy wiersz w pliku crontab użytkownika zawiera sześć pól oddzielonych spacją, po której następuje polecenie do uruchomienia.
* * * * * command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
Pierwsze pięć pól może zawierać jedną lub więcej wartości oddzielonych przecinkiem lub zakres wartości oddzielonych łącznikiem.
-
*- Operator gwiazdki oznacza dowolną wartość lub zawsze. Jeśli masz symbol gwiazdki w polu Godzina, oznacza to, że zadanie będzie wykonywane co godzinę.,- Operator przecinków pozwala określić listę wartości do powtórzenia. Na przykład, jeśli masz1, 3, 5w polu Godzina, zadanie będzie działać o 1 w nocy, 3 w nocy i 5 w nocy. --Operator łącznika umożliwia określenie zakresu wartości. Jeśli masz1-5w polu Dzień tygodnia, zadanie będzie uruchamiane każdego dnia tygodnia (od poniedziałku do piątku)./-Operator ukośnika pozwala określić wartości, które będą powtarzane w określonym przedziale czasowym między nimi. Na przykład, jeśli masz*/4w polu Godzina, oznacza to, że akcja będzie wykonywana co cztery godziny. Jest to to samo, co określenie0, 4, 8, 12, 16, 20. Zamiast gwiazdki przed operatorem ukośnika możesz także użyć zakresu wartości,1-30/10oznacza to samo co1, 11, 21.
Pliki systemowe Crontab
Składnia ogólnosystemowych plików crontab jest nieco inna niż plików crontab użytkownika. Zawiera dodatkowe obowiązkowe pole użytkownika, które określa, który użytkownik uruchomi zadanie cron.
Istnieje kilka specjalnych makr harmonogramu Cron używanych do określania typowych odstępów czasu. Możesz użyć tych skrótów zamiast pięciokolumnowej specyfikacji daty. Polecenie crontab pozwala zainstalować lub otworzyć plik crontab do edycji. Za pomocą polecenia crontab można przeglądać, dodawać, usuwać lub modyfikować zadania cron przy użyciu następujących opcji: Komenda crontab otwiera plik crontab przy użyciu edytora określonego przez zmienne środowiskowe
Demon cron automatycznie ustawia kilka zmiennych środowiskowych. Administratorzy systemu mogą kontrolować, którzy użytkownicy mają dostęp do polecenia
Domyślnie istnieje tylko plik
Jeśli plik
Jeśli żaden plik nie istnieje, tylko użytkownicy z uprawnieniami administracyjnymi mogą używać polecenia
Poniżej znajduje się kilka przykładów zadań cron, które pokażą, jak zaplanować uruchamianie zadania w różnych przedziałach czasowych. Uruchom polecenie o 15:00 każdego dnia od poniedziałku do piątku: Uruchom skrypt co 5 minut i przekieruj standardowe wyjście na
Uruchom dwa polecenia w każdy poniedziałek o 15:00 (użyj operatora
Uruchom skrypt PHP co 2 minuty i zapisz dane wyjściowe do pliku: Uruchom skrypt codziennie, co godzinę, o godzinie od 8 rano do 4 po południu: Uruchom skrypt w pierwszy poniedziałek każdego miesiąca o 7 rano Uruchom skrypt o 21:15, 1 i 15 każdego miesiąca: Ustaw niestandardowe zmienne
Nauczyłeś się, jak tworzyć zadania cron i planować zadania o określonej dacie i godzinie. Jeśli masz jakieś pytania, zostaw komentarz.
* * * * * command(s)
* * * * * command(s)
Predefiniowane makra
@yearly
(lub
@annually
) - Uruchom określone zadanie raz w roku o północy (12:00) 1 stycznia. Odpowiednik
0 0 1 1 *
.
@monthly
- Uruchom określone zadanie raz w miesiącu o północy pierwszego dnia miesiąca. Odpowiednik
0 0 1 * *
.
@weekly
- Uruchom określone zadanie raz w tygodniu o północy w niedzielę. Odpowiednik
0 0 * * 0
.
@daily
- Uruchom określone zadanie raz dziennie o północy. Odpowiednik
0 0 * * *
.
@hourly
- Uruchom określone zadanie raz na godzinę na początku godziny. Odpowiednik
0 * * * *
.
@reboot
- Uruchom określone zadanie podczas uruchamiania systemu (boot-time).Linux Crontab Command
crontab -e
- Edytuj plik crontab lub utwórz go, jeśli jeszcze nie istnieje.
crontab -l
- Wyświetl zawartość pliku crontab.
crontab -r
- Usuń bieżący plik crontab.
crontab -i
- Usuń bieżący plik crontab z monitem przed usunięciem.
crontab -u
VISUAL
lub
EDITOR
.
Zmienne Crontab
PATH=/usr/bin:/bin
. Jeśli wywoływane polecenie znajduje się w ścieżce podanej w cron, możesz albo użyć bezwzględnej ścieżki do polecenia, albo zmienić zmienną cron
$PATH
. Nie można domyślnie dołączyć
:$PATH
, tak jak w przypadku zwykłego skryptu. Domyślną powłoką jest
/bin/sh
. Możesz ustawić inną powłokę, zmieniając zmienną
SHELL
wywołuje polecenie z katalogu domowego użytkownika. Zmienną
HOME
można zastąpić ustawieniami w crontab. Powiadomienie e-mail jest wysyłane do właściciela crontab. Aby zastąpić domyślne zachowanie, możesz użyć zmiennej środowiskowej
MAILTO
z listą (oddzieloną przecinkami) wszystkich adresów e-mail, na które chcesz otrzymywać powiadomienia e-mail. Jeśli
MAILTO
jest zdefiniowane, ale puste (
MAILTO=""
), poczta nie jest wysyłana.Ograniczenia Crontab
crontab
, korzystając z plików
/etc/cron.deny
i
/etc/cron.allow
. Pliki składają się z listy nazw użytkowników, po jednej nazwie użytkownika w wierszu.
/etc/cron.deny
i jest on pusty, co oznacza, że wszyscy użytkownicy mogą korzystać z polecenia crontab. Jeśli chcesz odmówić dostępu do poleceń crontab określonemu użytkownikowi, dodaj nazwę użytkownika do tego pliku.
/etc/cron.allow
istnieje, tylko użytkownicy wymienieni w tym pliku mogą użyć polecenia
crontab
.
crontab
.Przykłady Cron Jobs
0 15 * * 1-5 command
dev null
, tylko standardowy błąd zostanie wysłany na podany adres e-mail:
[email protected] */5 * * * * /path/to/script.sh > /dev/null
&&
między poleceniami):
0 15 * * Mon command1 && command2
*/2 * * * * /usr/bin/php /path/to/script.php >> /var/log/script.log
00 08-16 * * * /path/to/script.sh
0 7 1-7 * 1 /path/to/script.sh
15 9 1, 15 * * /path/to/script.sh
HOME
,
PATH
,
SHELL
i
MAILTO
i uruchamiaj polecenie co minutę.
HOME=/opt PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SHELL=/usr/bin/zsh [email protected] */1 * * * * command
Wniosek
Dodaj efekt cienia do paska zadań systemu Windows 7 za pomocą paska zadań Shadow
Pasek zadań Shadow umożliwia dodanie cienia do paska zadań systemu Windows 7 w dowolnej pozycji - dół , Góra, Prawo, Lewo.
Dostosuj pasek zadań systemu Windows za pomocą 7+ paska zadań Tweaker
7+ Pasek zadań Tweaker to program typu freeware, który zapewnia opcje dostosowywania paska zadań systemu Windows. Ukryj przycisk Start, ukryj pulpit programu. Zmień ton innych funkcji.
Łatwe przypinanie elementów do paska zadań systemu Windows 7 za pomocą pinnera na pasku zadań
Jak łatwo przypinać elementy do paska zadań systemu Windows 7 Z paska narzędzi Pozycje Pinner.







