Crmgo Blog

Cron

Cron

cron Konfiguracioni fajl /etc/crontab. Direktorijum za konfiguracione fajlove /var/spool/cron/. Demon crond poziva run-parts za pokretanje skripti iz direktorijuma /etc/cron.*. Ako za run-parts nije zadana ni opcija –lsbsysinit ni opcija –regex, tada imena moraju biti sastavljena isključivo od slova u velikom i…

Cron

cron

  • Konfiguracioni fajl /etc/crontab. Direktorijum za konfiguracione fajlove je /var/spool/cron/
  • Demon crond poziva run-parts za pokretanje skripti iz direktorijuma /etc/cron.*.
Ako za run-parts nije zadana nijedna opcija –lsbsysinit ni opcija –regex, tada imena moraju da se sastoje isključivo od slova velikog i malog slova, cifara, donje crte i crtice. Tačku run-parts NE razume.

Demon cron pri svakoj aktivaciji proverava datum izmene fajla /etc/crontab i direktorijuma /var/spool/cron/. Ako su se promenili, on ponovo učitava sve izmene i uzima ih u obzir pri narednim pozivima. Pošto alatka crontab nakon izmene fajla sa zadacima menja datum izmene za folder /var/spool/cron/, nakon što se unesu izmene u korisnički fajl rasporeda, nema potrebe za restartovanjem procesa cron - ove izmene će biti uzete u obzir pri sledećoj aktivaciji. Iz tog razloga, za izmenu korisničkih fajlova rasporeda treba koristiti komandu crontab -e, a ne uređivati fajlove direktno. Za fajl /etc/crontab datum izmene se proverava posebno, pa ga možete menjati običnim editorom (za to su potrebni root privilegije).

Izlaz koji generišu izvršene komande podrazumevano se šalje na poštansko sanduče vlasnika fajla rasporeda (obično je to root, a njegova EMail adresa je navedena u fajlu /etc/aliases). Ako želite da poništite podrazumevano ponašanje, koristite promenljivu MAILTO. Prazna vrednost (MAILTO="") će preusmeriti poruke u /dev/null.

Format fajla crontab takođe dozvoljava da se umesto prvih pet pozicija koje označavaju vreme izvršenja zadatka koriste unapred definisane vrednosti:

  • @reboot (izvršiti pri pokretanju operativnog sistema)
  • @yearly (izvršiti godišnje u ponoć 1. januara)
  • @monthly (izvršiti mesečno u ponoć 1. dana u mesecu)
  • @weekly (izvršiti u ponoć svakog ponedeljka)
  • @daily (izvršiti dnevno u 0:00)
  • @hourly (izvršiti na početku svakog sata).

Pogledajte cron fajl za korisnika www-data. Opcija -e omogućava uređivanje cron fajla korisnika www-data.

# crontab -u www-data -e # редактировать содержимое файла crontab
# crontab -u www-data -l # отобразить содержимое файла crontab
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  command to be executed
Ako su navedene sve zvezdice, to znači pokretati svake minute.

Primeri:

  • Pokrenuti program svakih dva dana u 10:00 i poslati izveštaj na EMail naveden u promenljivoj MAILTO

    MAILTO=noc@example.net
    0 10 */2 * * root /usr/local/repl/restart_repl.sh
  • Pokrenuti skriptu 1. i 15. dana svakog meseca u 2:05, kao i nedeljom (Day i WDay rade u režimu "ILI")

    5  2  1,15 * Sun /home/script

Napomena: tekst može biti uz pomoć AI uz ljudsku proveru. Odgovoran: Dmytro Lomaka, Kaltenkirchen.