Kompletan vodič za zakazivanje sigurnosnih kopija i automatskih zadataka pomoću Crona na Linuxu

Posljednje ažuriranje: 28 avgust 2026
  • Kako crond daemon funkcioniše i kako se zadaci upravljaju pomoću crontab datoteke.
  • Detaljna sintaksa i upotreba specijalnih znakova za programiranje preciznih izvršavanja.
  • Implementacija skripti za pravljenje sigurnosnih kopija sa TAR-om i automatizacija održavanja sistema.
  • Moderne alternative poput systemd tajmera i grafičkih alata za upravljanje procesima.

Infrastruktura modernog podatkovnog centra sa serverskim rekovima za Linux hosting.

Bez obzira da li ste nedavno prešli na Linux ili već neko vrijeme upravljate vlastitim serverom, vjerovatno ste shvatili da su neki zadaci zaista teški za ručno obavljanje. Od čišćenja privremenih datoteka do osiguravanja sigurnosti vaših podataka pomoću sigurnosnih kopija, automatizacija ovih procesa ključna je za izbjegavanje frustracija i sprječavanje da jednostavan propust uništi mjesec dana rada.

Da bi riješili ovaj problem, UNIX-slični sistemi imaju legendarni alat pod nazivom Cron. U osnovi, to je kao budilnik za naredbe koji pokreće skripte ili aplikacije u tačno vrijeme koje odredite, radeći u pozadini dok pijete kafu ili potpuno zaboravite da zadatak postoji.

Sistem administrator prati procese u realnom vremenu u višeokvirnom Linux terminalu.
Povezani članak:
Kompletan vodič za praćenje resursa u Linuxu: od vrha do dna

Šta je tačno Cron i kako se kreće?

Ekran Linux terminala koji prikazuje konfiguraciju planiranih zadataka u crontab datoteci.

Kada govorimo o Cronu, zapravo mislimo na daemon koji se zove crond . U Linux svijetu, daemon je jednostavno proces koji se izvršava u pozadini, bez korisničkog interfejsa, od trenutka pokretanja sistema. Njegov posao je monoton, ali ključan: svake minute provjerava konfiguracijske datoteke kako bi vidio da li postoje planirani cron poslovi koji odgovaraju trenutnom vremenu i datumu.

Da bi sve funkcionisalo glatko, ključno je da je sistemski sat ispravno podešen. Ako su vrijeme ili vremenska zona netačni, vaše sigurnosne kopije će se pokrenuti u pogrešno vrijeme. Stoga se preporučuje korištenje naredbe `timedatectl` kako biste provjerili da li je sinhronizacija sa NTP serverima ispravna, osiguravajući da sistem nema nikakvih vremenskih odstupanja.

Crontab datoteka: Gdje se dešava magija

Ako je Cron mehanizam, crontab je mapa instrukcija . To je tekstualna datoteka u koju zapisujemo šta želimo pokrenuti i kada. Zanimljivo je da ne postoji samo jedna datoteka; sistem ima globalni crontab na /etc/crontab, ali svaki korisnik može imati svoj vlastiti , što omogućava različitim ljudima da planiraju svoje zadatke bez potrebe za administratorskim privilegijama cijelo vrijeme.

Docker Compose kućna laboratorija
Povezani članak:
Docker Compose u Homelabu: organizacija, profili i najbolje prakse

Za upravljanje ovim zadacima koristimo naredbu `crontab -e` za uređivanje, `crontab -l` za prikaz aktivnih stavki i `crontab -r` ako želimo sve izbrisati i početi ispočetka. To je vrlo čist način organiziranja održavanja sistema bez diranja kritičnih datoteka kernela.

  Frustracije korisnika Linuxa prilikom korištenja Windowsa 11

Razlaganje Cron sintakse

Radni sto sa laptopom i eksternim hard diskovima za pravljenje sigurnosnih kopija podataka.

Da biste zakazali zadatak, morate slijediti vrlo strogi redoslijed pet vremenskih polja nakon kojih slijedi naredba. Redoslijed je: minuta, sat, dan u mjesecu, mjesec i dan u sedmici . Na primjer, ako unesemo 0 19 * * 0, govorimo sistemu da se aktivira svake nedjelje u 7 sati.

Da bismo olakšali svoj život, postoje posebni likovi što nam daje potpunu kontrolu. Zvjezdica (*) znači "uvijek" ili "bilo koja vrijednost", dok se kosa crta (/) koristi za definiranje intervala, kao što je */10 da se nešto pokreće svakih deset minuta. Crtica (-) definira raspone, a zarez (,) vam omogućava da navedete specifične vrijednosti. Osim toga, postoje unapred definisane prečice kao što su @daily, @weekly ili @reboot, koji pojednostavljuju pisanje za najčešće slučajeve.

Kreiranje vašeg prvog sistema za sigurnosne kopije

Jedna od najkorisnijih aplikacija je pravljenje sigurnosnih kopija podataka. Za to je TAR alat idealna izvorna opcija . Možemo kreirati Bash skriptu koja pakuje naše datoteke, dodjeljuje trenutni datum nazivu datoteke i, što je vrlo važno, isključuje nepotrebne mape poput predmemorije ili smeća kako sigurnosna kopija ne bi postala gigabajti smeća.

mjerenje potrošnje energije u kućnoj laboratoriji
Povezani članak:
Kako mjeriti i optimizirati potrošnju električne energije u vašoj kućnoj laboratoriji

Nakon što je skripta kreirana (na primjer, u /usr/local/bin/mybackup) i dozvole za izvršavanje su dodijeljene pomoću chmod +x , jednostavno dodajte liniju u korijenski crontab. Na ovaj način, server će automatski izvršiti sigurnosno kopiranje, a možete čak i zakazati skriptu da automatski briše sigurnosne kopije starije od dvije sedmice kako biste izbjegli popunjavanje tvrdog diska.

  Strukturirano programiranje: sve što trebate znati

Napredna administracija i apsolutne putanje

Sistem administrator radi s laptopom u profesionalnoj serverskoj sobi.

Vrlo česta greška među početnicima je korištenje relativnih putanja u njihovim skriptama. Cron radi u vrlo ograničenom okruženju i ne zna vašu lokaciju, tako da uvijek trebate koristiti apsolutne putanje (kao što je /home/user/script.sh umjesto ./script.sh). U suprotnom, naredba će tiho propasti i bit ćete neugodno iznenađeni kada budete trebali oporaviti svoje podatke.

Da biste izbjegli slijepo djelovanje, ključno je preusmjeravanje izlaza u logoveKorištenje operatora >>> /var/log/backup.log 2>&1U datoteku možemo spremiti i uspjehe i neuspjehe. Na taj način, ako nešto pođe po zlu, potrebno je samo pogledati datoteku dnevnika da bismo tačno znali šta se dogodilo, bez potrebe da nagađamo.

Utjecaj na performanse i najbolje prakse

Nije preporučljivo preopteretiti sistem zadacima koji se izvršavaju svake sekunde, jer to može uzrokovati skokove u korištenju CPU-a i RAM-a . Najpametniji pristup je planirati procese koji intenzivno koriste resurse, poput ažuriranja baze podataka ili velikih sigurnosnih kopija, tokom ranih jutarnjih sati ili van vršnih sati kako bi se izbjegao utjecaj na korisnike.

Besplatna pošta za mala i srednja preduzeća
Povezani članak:
Besplatni email marketing za mala i srednja preduzeća: ključni alati i strategije

Da bi se spriječilo preklapanje jednog zadatka s drugim ako prvi traje duže od očekivanog, preporučuje se korištenje funkcije flock , koja sprječava istovremeno izvršavanje iste skripte. Osim toga, da bi se ograničilo ko može koristiti Cron, administrator može konfigurirati datoteke cron.allow i cron.deny , osiguravajući da samo ovlašteno osoblje može zakazivati ​​zadatke na serveru.

Moderne alternative: Systemd tajmeri i još mnogo toga

Iako je Cron klasik, moderni sistemi koriste systemd tajmere . Oni su mnogo moćniji jer vam omogućavaju upravljanje zavisnostima, efikasnije rješavanje grešaka i izvršavanje zadataka na osnovu sistemskih događaja (kao što je pokretanje), a ne samo sata. Konfigurišu se pomoću .timer i .service datoteka u /etc/systemd/system/.

  Sve o nasljeđivanju u objektno orijentiranom programiranju

Za one koji se ne snalaze s terminalom, postoje grafičke opcije poput KCron (za KDE) ili web alati poput Webmina. Na drugim operativnim sistemima, kao što je macOS, koristi se launchd , koji nudi mnogo dublju integraciju s Apple ekosistemom, omogućavajući automatsko ponovno pokretanje neuspjelih zadataka.

Drugi slučajevi upotrebe na serverima u stvarnom svijetu

Pored pravljenja sigurnosnih kopija, Cron je savršen alat za održavanje čistoće vašeg sistema . Možete zakazati zadatke za sedmično brisanje starih logova ili ponovno pokretanje servisa koji imaju tendenciju pada sistema. Također je neophodan za sinhronizaciju podataka pomoću rsync-a između različitih mašina, osiguravajući da se informacije repliciraju bez ljudske intervencije.

U web okruženjima, stalno se koristi za slanje masovnih e-poruka , generiranje dnevnih izvještaja o prodaji ili ažuriranje keš memorije stranice. U osnovi, svaka ponavljajuća i predvidljiva radnja može i treba biti delegirana Cronu kako bi se optimizirala produktivnost administratora.

Savladavanje automatizacije u Linuxu vam omogućava da transformišete ručno upravljani server u autonomnu i efikasnu mašinu. Kombinacijom upotrebe Bash skripti, preciznosti crontab-a i praćenja logova, možete osigurati da se održavanje, sigurnost i integritet podataka obavljaju automatski, oslobađajući vrijeme i drastično smanjujući marginu ljudske greške u upravljanju infrastrukturom.