Plánování spouštění úloh: Porovnání verzí

Smazaný obsah Přidaný obsah
oprava kódu
m Robot: kosmetické úpravy
Řádek 1:
Řešení spouštění programů ne okamžitě, ale někdy v budoucnu. Unix-like systémy používají dva způsoby řešení:
 
; periodicky/opakovaně "někdy později"
: pomocí démonu "crond". Popis spouštění příkazů je uložen ve struktuře (souboru) zvané [[crontab]]. Globální systémový soubor popisu tohoto opakovaného spouštění je /etc/crontab, uživatelé mohou mít svůj popis - ten je pak uložen v souboru <code>/var/spool/cron/jméno_uživatele</code>. Globální specifikaci může ovlivnit pouze [[root]] a může ji tvořit/modifikovat přímo textovým editorem, uživatelská je přístupná pomocí příkazu "<code>crontab</code>". Prvních pět polí řádky popisu jsou specifikace času, kdy se má daný příkaz vykonat. V globální specifikaci je jako šestý parametr jméno uživatele, pod kterým je daný program (sedmý parametr) spuštěn, v uživatelské specifikaci není - šestý parametr je specifikace programu a program je vždy spuštěn s UID uživatele.<br />Root může povolit/zakázat uživatele, kteří mohou používat spouštění úloh pomocí [[cron]] démonu, jejich vyjmenováním v souborech <code>/etc/cron.allow</code> a <code>/etc/cron.deny</code>. Zbytek řádky struktury crontab jsou parametry programu (tento zbytek je celý předán shell-u k vykonání, tzn. může to být zřetězení příkazů vč. přesměrování vstupů/výstupů). Implicitní shell je "'''/bin/sh'''", je možné specifikovat jiný shell deklarací proměnné '''SHELL'''. Speciální znak "'''%'''" bude démonem '''crond''' změněn na <nowiki><LF></nowiki> a vše za ním bude posláno na standardní vstup příkazu.<br />Blíže viz manuálové stránky '''cron''' a '''crontab'''.
; jednorázově "někdy později"
: pomocí démonu "atd". Úlohy (je možno je zadat jak ze stdin tak ze vstupního souboru) se zařadí do časové fronty démona - pomocí příkazu [[at]] nebo [[batch]]; je možné je kdykoliv vypsat příkazem [[atq]] nebo je z časové fronty smazat příkazem [[atrm]]. Příkaz at má řadu voleb specifikace data a času spuštění úlohy.<br />'''! Pokud je specifikace data i času v daném dnu, musí být specifikace času první !'''