Demon w systemie Linux o nazwie cron uruchamia procesy w regularnych odstępach czasu. Sprawdza niektóre foldery w systemie, aby skrypty działały w serii folderów, w tym /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly i /etc/cron.monthly. Istnieje również plik o nazwie / etc / crontab.
Umieszczanie skryptów w folderach Cron
Możesz po prostu umieszczać skrypty w odpowiednich folderach, aby uruchomić je w regularnych odstępach czasu.
Na przykład otwórz okno terminalu i uruchom następujące polecenie ls:
ls / etc / cron *
Zobaczysz listę programów lub skryptów uruchamianych co godzinę, codziennie, co tydzień i co miesiąc.
Problem z tymi folderami polega na tym, że są trochę niejasne. Na przykład, codziennie oznacza, że skrypt będzie uruchamiany raz dziennie, ale nie masz kontroli nad czasem, w którym skrypt będzie działał w tym dniu.
W tym miejscu pojawia się plik crontab.
Edytując plik crontab, można uzyskać skrypt lub program uruchamiany z dokładną datą i godziną uruchomienia.
Uprawnienia
Polecenie crontab wymaga, aby użytkownik miał uprawnienia do edytowania pliku crontab. Zasadniczo istnieją dwa pliki używane do zarządzania uprawnieniami crontab:
- /etc/cron.allow
- /etc/cron.deny
Jeśli istnieje plik /etc/cron.allow, to użytkownik, który chce edytować plik crontab, musi znajdować się w tym pliku. Jeśli plik cron.allow nie istnieje, ale istnieje plik /etc/cron.deny, to użytkownik nie może istnieć w tym pliku. Jeśli istnieją oba pliki, plik /etc/cron.allow zastępuje plik /etc/cron.deny. Jeśli żaden z plików nie istnieje, to zależy od konfiguracji systemu, czy użytkownik może edytować plik crontab.
Użytkownik root może zawsze edytować plik crontab. Możesz użyć polecenia su, aby przełączyć się na użytkownika root lub polecenie sudo, aby uruchomić polecenie crontab.
Edytowanie pliku Crontab
Każdy użytkownik, który ma odpowiednie uprawnienia, może utworzyć własny plik crontab. Polecenie cron zasadniczo szuka wszystkich plików crontab i przechodzi przez każdy z nich.
Aby sprawdzić, czy masz plik crontab, uruchom następujące polecenie:
crontab -l
Jeśli nie masz pliku crontab, pojawi się komunikat "no crontab for Aby utworzyć lub edytować plik crontab, uruchom następujące polecenie: crontab -e Otwierany plik zawiera wiele informacji, ale kluczową częścią jest przykład tuż przed końcem sekcji komentarzy (komentarze są oznaczone liniami zaczynającymi się od #). # m h dom mon dow command 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / Jest 6 informacji pasujących do każdej linii pliku crontab: Dla każdej pozycji (z wyjątkiem polecenia) można określić symbol wieloznaczny. Spójrz na następujący przykład linii crontab: 30 18 * * * tar -zcf /var/backups/home.tgz / home / Po 30 minutach, 18 godzinach i dowolnym dniu, miesiącu i dniu tygodnia, ten wpis crontab zamieni i skompresuje katalog domowy do folderu / var / backups. Aby uzyskać polecenie uruchamiania z prędkością 30 minut po każdej godzinie, uruchom następujące polecenie: 30 * * * * polecenie Aby uzyskać polecenie uruchamiane co minutę po godzinie 18, uruchom następujące polecenie: * 18 * * * polecenie Dlatego musisz być ostrożny przy konfigurowaniu poleceń crontab. Na przykład: * * * 1 * polecenie To polecenie będzie uruchamiane co minutę każdej godziny każdego dnia każdego tygodnia w styczniu. Aby uruchomić polecenie o 5 rano 1 stycznia, wykonasz następujące polecenie do pliku crontab: Zazwyczaj nie chcesz usuwać pliku crontab, ale możesz chcieć usunąć niektóre wiersze z pliku crontab. Jeśli jednak chcesz usunąć plik crontab użytkownika, uruchom następujące polecenie: crontab -r Bezpieczniejszym sposobem wykonania tej czynności jest uruchomienie następującego polecenia: crontab -i System operacyjny prosi o weryfikację przed usunięciem pliku crontab.
Jak usunąć plik Crontab