posledny priklad je totozny s predoslym a nesedi na jeho popis...
Názory k článku
Cron: naplánovanie opakujúcich sa procesov
Pěkný
Článek se mi líbí. Autor mohl ještě zmínit, že se záznam dá i naklikat. V KDE4 je to v Nastavení systému - > Plánovač úloh. Dá se tam snadno vybrat čas i cesta ke skriptu.
vagón překlepů a chyba
Článek je pro začátečníky, takže jsem jej jen proletěl, zda tam nenarazím na něco, co ještě nevím. Samotný obsah musím pochválit, ale je tam spousta překlepů (nejvíc se opakuje 'spoll' místo 'spool') a minimálně tahle chyba:
časový údaj:
11 40 * * 1-4
Znamená spustiť príkaz od pondelka do štvrtku o 11:40. Hviezdička na prvom mieste by spustila príkaz každú minútu.
Pokud to tak má být, tak musí být 11 a 40 prohozeno.
co udela cron na encrypted partition?
celé vláknoJako na zavolanou. Tedy, mam home adresar a pouzivam user cron tabnlku. Home je zasifrovany a je namontovany za pouziti pam_mount pri loginu. Chtel bych, aby kdyz j v okamziku kdy se home primontuje crobtab spustil akci a pak kazdych 5 minut pokud je primontovany.
Jak to udelat?
Predpokladam ze na zasifrovanem a neprimontovanem disku se crontab nespusti
Re: co udela cron na encrypted partition?
celé vláknoUserovske crontaby jsou ulozene ve /var/spool/cron/crontabs/<user>, takze se ti spusti i se zasifrovanym homem. Takze v davce detekuj, zda mas home primontovany. Davku po bootu muzes cronem spustit, pokud misto casoveho udaje das @reboot.
pořádná chyba
/bin/sh že je "v Linuxu" linkováno na /bin/bash? Za tohle tvrzení v článku pro začátečníky by se měl autor jít dobrovolně pověsit za koule do průvanu, protože /bin/sh může být linkováno na cokoliv, co je s původním sh kompatibilní. Zrovna všechny distribuce založené na Debianu tam mají dash.
Kromě toho v článku taky chybí forma spouštění každých N minut, to se dělá pomocí */n (velmi zjednodušeně řečeno)
sekundy v cronu
Docela me stve ze v cronu nejsou i sekundy, minuty jsou dost malo a pouzivat sleep neni dvakrat pekne.
nesmí chybět
celé vláknoV takovém článku nesmí chybět důležitá informace z man 5 crontab:
Note: The day of a command's execution can be specified by two fields — day of month, and day of week. If both fields are restricted (i.e., aren't *), the command will be run when either field matches the current time. For example, ``30 4 1,15 * 5'' would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday.
Re: nesmí chybět
celé vláknoPřesně, s tím jsem taky zápasil. Manuálová stránka uvádí i workaround, například následující předpis pro první středu v měsíci:
00 12 1-7 * * test $(date +\%u) -eq 3 && wall "Zkouska siren"
Re: nesmí chybět
celé vláknoanebo (prvni neděle v měsíci)
0 3 * * 7 [ `date '+%e'` -le 7 ] && mujskritp.sh
systemove crontaby, pole uzivatel
Bylo by vhodne zminit, ze pole uzivatel se pouziva prave jen v systemovych crontabech (typicky v /etc/cron.d/*), kdyz uz je ve formatu zminen.
Prikaz 'crontab' (vytvarejici uzivatelske crontaby) nedovoli ulozit soubor ve kterem je chyba (naprikad hodina 25).
Pokud clovek upravuje, nebo vytvari systemove crontaby, musi mit na pameti, ze v pripade "syntakticke" chyby v crontabu, se obevi jedna hlaska v syslogu a pak ticho po pesine. Zadny radek z toho crontabu se nikdy nespusti (dokud ho nekdo neopravi). Jedinnou dalsi indikaci je, ze se v uvedeny cas neobjevi hlaska v syslogu informujici o spusteni jobu.
Proto zacatecnikum velmi doporucuji prikaz "crontab" a systemovym crontabum se vyhnout.
anacron
celé vláknopro uplnost anacron.
anacron. aneb ktery cron job mel bezet, kdyz byl pocitac vypnuty a po startu se ma spustit, kdyz mel probehnout v dobe vypnuti.
Re: anacron
celé vláknov cronu jsem zacatecnik, takze moje otazka zni:
spusti se tedy dana uloha (kt. prosla) po zapnuti pocitace?
Crontab output
celé vláknoVdaka za clanok, stalo by za spomenutie, ze je dobrym zvykom vystup cronu presmerovat do suboru spolu s chybovym vystupom > file 2>&1 zvlast na systemoch, kde nieste rootom, pretoze defaultne su chyby odoslane rootovi, ktory bude urcite rad, ze ho usetrite vasich chyb ;)
Re: Crontab output
celé vláknoVýstupy úloh jsou posílány vždy tomu, čí je daný crontab. Dá se to změnit i nastavením proměnné MAIL na začátku crontabu, ale pouze pro celý crontab, nikoli pro jednotlivé úlohy.

