Na Linuxu je cron standardno orodje za avtomatizacijo. V Windowsih opravlja isto delo Opravilnik opravil (Task Scheduler). Zbudi računalnik iz spanja, ponoči zažene skripto za varnostno kopijo, ob zagonu odpre program, prikaže opomnik — vse to gre brez ukazne vrstice. V tem članku si bomo pogledali, kako Opravilnik opravil deluje, kaj so sprožilci in dejanja ter kako korak za korakom ustvarimo zanesljivo samodejno opravilo.
Kaj je Opravilnik opravil?
Opravilnik opravil (Task Scheduler) je sistemska storitev, ki v ozadju deluje od trenutka, ko se Windowsi zaženejo. Njegovo delo je preprosto: spremlja seznam opravil in, ko je pogoj za opravilo izpolnjen, izvede dodeljeno dejanje. Brez okna, brez posredovanja uporabnika — vse poteka tiho.
Vsako opravilo je sestavljeno iz treh gradnikov:
| Gradnik | Pomen | Primer |
|---|---|---|
| Sprožilec (trigger) | Kdaj se opravilo izvede | vsak dan ob 23:00, ob prijavi, ko je računalnik nedejaven |
| Dejanje (action) | Kaj opravilo stori | zaženi program, pošlji e-pošto, prikaži sporočilo |
| Pogoji (conditions) | Dodatne omejitve | samo na omrežnem napajanju, samo če je omrežje na voljo |
Razlika med sprožilcem in pogojem zmede marsikaterega začetnika: sprožilec zažene opravilo, pogoji pa ga lahko ustavijo ali preprečijo. Opravilo s sprožilcem "vsak dan ob 23:00" in pogojem "zaženi samo, če je računalnik nedejaven" preprosto ne bo izvedeno, če ob 23:00 gledate film.
Odpiranje Opravilnika opravil
Pritisnite Win + R, vpišite taskschd.msc in potrdite z Enter. Druga možnost je iskanje po imenu "Opravilnik opravil" v meniju Start.
V levem okencu so mape opravil, v srednjem seznam opravil izbrane mape, v desnem pa dejanja — najpomembnejša sta Ustvari osnovno opravilo za začetnike in Ustvari opravilo za popoln nadzor.
Ustvarjanje osnovnega opravila
Ustvariva klasični primer: skripta za varnostno kopijo vsak dan ob 23:00. V desnem okencu kliknite Ustvari osnovno opravilo:
- Ime: npr. "Dnevna varnostna kopija" — izberite nekaj, kar boste prepoznali tudi čez leto dni
- Sprožilec: izberite "Dnevno" in nastavite čas, ki vam ustreza
- Dejanje: izberite "Zaženi program". V polje Program/skripta vpišite celotno pot do skripte (npr. C:\skripte\varnostna-kopija.bat) — samo ime datoteke ne zadostuje, saj Windows ne ve, kje se nahaja. Polje za argumente pustite prazno. Presvetlitev: pot najlažje dobite tako, da v Raziskovalcu desno kliknete skripto, izberete "Kopiraj kot pot" in jo prilepite v polje
- Zaključek: potrdite z gumbom Dokončaj.
Za preprosto opravilo je to vse. Osnovna opravila pa skrivajo nastavitve, ki naredijo avtomatizacijo zanesljivo — za te potrebujemo Ustvari opravilo.
Celotne nastavitve opravila
Ustvari opravilo odpre pogovorno okno z več zavihki. Tri najpomembnejše nastavitve, ki jih osnovna opravila izpustijo:
- Zaženi ne glede na to, ali je uporabnik prijavljen: Opravilo teče, tudi kadar ni nihče prijavljen — ključnega pomena za nočna opravila na strežniku ali službenem računalniku.
- Zaženi z najvišjimi pravicami: Opravilo teče s skrbniškimi pravicami, kar je nujno za opravila, ki pišejo v zaščitene mape.
- Zbudi računalnik za zagon tega opravila: Pod zavihkom Pogoji — omogoči, da se računalnik v stanju mirovanja prebudi, zažene nalogo in ponovno preklopi v stanje mirovanja.
Na zavihku Nastavitve bodite še posebej pozorni na:
| Nastavitev | Zakaj je pomembna |
|---|---|
| Dovoli zahtevek po opravilu | Opravilo lahko kadar koli zaženete ročno, za preizkus |
| Zaženi opravilo čim prej po zamujenem zagonu | Če je bil računalnik ob 23:00 izklopljen, opravilo nadoknadi po naslednjem zagonu |
| Če opravilo ne uspe, ponovno zaženi vsakih X minut | Samodejni ponovni poskusi — število poskusov nastavite v Nastavitvah |
| Ustavi opravilo, če teče dlje kot X | Ščiti pred obtičeno skripto, ki bi tekla v nedogled |
Pogosti sprožilci
| Sprožilec | Kdaj uporabiti |
|---|---|
| Po urniku (dnevno, tedensko, mesečno) | Varnostne kopije, poročila, čiščenje |
| Ob prijavi | Priklop diskov, zagon pomožnih programov |
| Pri zagonu sistema | Sistemska opravila pred prijavo kateregakoli uporabnika |
| Ko je računalnik nedejaven | Defragmentacija, indeksiranje — delo, ko računalnika ne potrebujete |
| Reagiranje na vnose v dnevnik dogodkov Windows |
Ukazna vrstica: schtasks
Opravilnik opravil lahko upravljamo tudi iz ukazne vrstice z ukazom schtasks — uporabno za skripte ali oddaljeno upravljanje:
# Ustvari opravilo, ki vsak dan ob določenem času (23:00 na primer) zažene backup.bat schtasks /create /tn "Dnevna varnostna kopija" /tr "C:\skripte\backup.bat" /sc daily /st 23:00 # Zaženi opravilo ročno schtasks /run /tn "Dnevna varnostna kopija" # Izpiši vsa opravila schtasks /query # Izbriši opravilo schtasks /delete /tn "Dnevna varnostna kopija" /f
Parametri so okrajšave za: ime opravila (task name), kaj zagnati (task to run), shema urnika (schedule cheme) in čas zagona (start time).
Pogoste napake
- Samo absolutna pot do programa: Če dejanje zažene paketno datoteko, ki se sklicuje na druge datoteke, nastavite polje "Zaženi v" na mapo skripte — sicer relativne poti ne delujejo.
- Zaženi samo, ko je uporabnik prijavljen: Opravilo ponoči tiho ne naredi ničesar, ker ni bil nihče prijavljen.
- Napačen uporabniški račun: Opravilo, ki teče pod uporabnikom brez dovoljenja za ciljno mapo, spodleti brez vidnega sporočila.
- Netestirano opravilo: Po ustvarjanju opravilo vedno z desnim klikom zaženite ročno — nikoli ne čakajte na 23:00, da ugotovite, da skripta vsebuje tipkarsko napako.
- Pogoji o bateriji na prenosniku: Privzeto se opravila ne zaženejo z napajanjem iz baterije — počistite polje, če mora prenosnik opravilo izvesti tudi brez napajanja.
- Sprememba gesla: Opravilo, nastavljeno na "ne glede na prijavo", hrani poverilnice računa — po spremembi gesla naloga začne odpovedovati, dokler ga ne posodobite.
- Pričakovanje vidnega okna: Opravila, ki tečejo "ne glede na prijavo", tečejo nevidno — rezultat preverite v stolpcu Zadnji rezultat.
Preverjanje rezultatov
Ko se opravilo zažene, ga izberite v razporejevalniku opravil in preverite spodnje podokno: Čas zadnjega izvajanja in Rezultat zadnjega izvajanja. Rezultat 0x0 pomeni uspeh. Vsaka druga koda je napaka- zapišite si kodo in jo poiščite, saj opisuje natančno težavo.
Podrobnejša zgodovina je privzeto izklopljena: v desnem okencu kliknite Omogoči zgodovino vseh opravil. Od takrat naprej se zabeleži vsak zagon, zaključek in neuspeh vsakega opravila.
Primerjava s cron-om
| Lastnost | cron (Linux) | Opravilnik opravil (Windows) |
|---|---|---|
| Nastavitev | besedilna datoteka, ena vrstica na opravilo | grafično okno ali schtasks |
| Nadomeščanje zamujenih zagonov | privzeno se ne izvede (pomaga anacron) | vgrajena možnost |
| Sprožilci po dogodkih | ne | da (dnevnik dogodkov, prijava, nedejavnost) |
| Ponovni poskusi ob napaki | ročno | vgrajena možnost |
| Zgodovina rezultatov | prek syslog-a | vgrajena, zahteva vklop |
Zaključek
Opravilnik opravil je Windows različica cron-a — tihi služabnik, ki med spanjem upravlja ponavljajoča se dela. Ko enkrat razumete trojico sprožilec–dejanje–pogoji in se naučite sedmih nastavitev, ki jih osnovna opravila skrivajo, lahko avtomatizirate skoraj vse: varnostne kopije, čiščenje, skripte, opomnike. Zlato pravilo za konec: vsako opravilo brez izjeme preizkusite ročno, preden mu zaupate nočni urnik.