Instalacja Crona i Crontaba
W moim Debianie cron jest domyślnie zainstalowany. Jeśli jednak nie jest on zainstalowany na Twoim komputerze, uruchom kilka poniższych poleceń na terminalu z uprawnieniami roota.
apt-get update
apt-get install cron
Aby uzyskać listę zadań cron już zaplanowanych na komputerze, wykonaj następujące czynności na terminalu.
crontab -l
Otwieranie crontaba za pomocą edytora tekstu
Aby otworzyć crontab za pomocą edytora tekstu, wykonaj następujące polecenie z uprawnieniami roota.
crontab -e
Komenda crontab -e otwiera crontab aktualnie zalogowanego użytkownika, którym w moim przykładzie jest użytkownik root. Aby otworzyć crontab innego użytkownika, powiedzmy użytkownika „margo”, dodaj flagę -u, po której następuje nazwa użytkownika. Przykład:
crontab -e -u margo
Składnia crontaba
Linux crontab ma sześć pól, jak pokazano poniżej.
* * * * * /path/to/script.sh
Każde z pól ma następujące znaczenie.
[Minuta] [godzina] [Dzień_miesiąca] [Miesiąc_roku] [Dzień_tygodnia] [polecenie]
Minuta 0 – 59
Godzina 0 – 23
Dzień miesiąca 1 – 31
Miesiąc roku 1 – 12
Dzień tygodnia 0 – 7
Podstawowy przykład zadania cron
Oto kilka przykładów zadań cron.
- Zaplanuj wykonanie zadania cron codziennie o 2 w nocy
0 2 * * * /bin/sh backup.sh
Powyższe zadanie cron będzie wykonywane codziennie o 2 w nocy i uruchomi skrypt Backup.sh. Spowoduje to codzienne wykonywanie kopii zapasowej.
- Zaplanuj wykonywanie zadania cron dwa razy dziennie
0 5,17 * * * /scripts/script.sh
Powyższe zadanie cron będzie wykonywane codziennie o 5:00 i 17:00. Za pomocą przecinka można określić wiele razy.
3. Zaplanuj wykonywanie zadania cron co minutę
* * * * * scripts/script.sh
Powyższe zadanie cron będzie wykonywane co minutę.
4. Zaplanuj wykonanie zadania cron w każdą niedzielę o 17:00
0 17 * * sun /scripts/script.sh
- Zaplanuj uruchamianie zadania cron co 10 minut
Jeśli chcesz, aby Twoje zadanie było wykonywane co 10 minut, należy zaktualizować cron w następujący sposób.
*/10 * * * * /scripts/monitor.sh
„*/10” oznacza uruchomienie co 10 minut.
6. Zaplanuj wykonanie zadania cron w wybranych miesiącach
Załóżmy, że chcesz wykonać cron w styczniu, maju i sierpniu, zadanie cron należy skonfigurować w następujący sposób.
* * * jan,may,aug * /script/script.sh
Ponownie, wiele miesięcy można określić przecinkiem.
7. jeśli chcesz np usunąć pliki starsze niż 14 dni z określonego folderu:
0 0 * * * find /home/upload -type f -mtime +14 -delete
Gotowe 🙂