Q: Co je to incron?
incron je "systém inotify".
Pro více detailů viz sekci O programu.
Q: K čemu se dá incron použít?
incron lze použít v mnoha situacích, které zavisejí na událostech v souborovém systému.
Detaily najdete v sekci Proč používat.
Q: Existují distribuční (binární) balíky?
Existují balíky poskytované třetími osobami. Najdete je v sekci Odkazy.
Můžete se též podívat do své distribuce, zda tam balík incron nenajdete.
Q: Jak to funguje?
incron má dvě části: démona a tabulkový manipulátor. Démon čte pravidla ze systémových a uživatelských tabulek,
vytváří odpovídající monitory na souborech a čeká na události. Pokud nějaká sledovaná událost nastane,
démon spustí příkaz (spustitelný soubor s parametry). Jakékoli změny v tabulkách se projeví ihned.
Q: Jak přidat/změnit/odebrat systémovou tabulku?
Systémové tabulky jsou umístěny typicky v adresáři /etc/incron.d. Jsou určeny k přímým úpravám.
Jednoduše tyto soubory přidávejte, editujte a odstraňujte.
Q: Jak přidat/změnit/odebrat uživatelskou tabulku?
Uživatelské tabulky jsou obvykle umístěny v adresáři /var/spool/incron, ale nejsou určeny k přímým úpravám
(i když to root technicky může provést). K manipulaci používejte prosím program incrontab.
Q: Proč tak složité řešení? Já chci mít tabulku ve svém domovském adresáři!
incron používá stejný model jako cron. Je více důvodů, proč je lepší mít uživatelské tabulky v jednom
speciálním adresáři. Někteří uživatelé mohou sdílet jeden domovský adresář, což navíc pro některé může
být i / (kořenový adresář), zvláště pro systémové účty. Pokud chce uživatel spravovat svoji tabulku
ve svém domovském adresáři, může. Ale bude to vždy jen "pracovní kopie", která se musí (pomocí
programu incrontab) kopírovat do normálního umístění.
Q: Jak psát pravidla pro incron?
Tabulky pro incron mají na každém řádku jedno pravidlo. Každé pravidlo má tři části.
Prvním z nich je absolutní cesta k souboru, který se má sledovat. Druhou je maska
událostí, které budou zachycovány (jeden nebo více symbolů oddělených čárkou, případně číselně
určená maska). A konečně poslední je příkaz ke spouštění.
Části jsou odděleny jednou nebo více mezerami. Chcete-li použít mezery uvnitř cesty k souboru nebo
příkazu, musíte před kažnou předřadit zpětné lomítko. Samotné zpětné lomítko (jako takové) se
samozřejmě musí zdvojit.
Q: Co je to IN_NO_LOOP?
V některých případech se zpracování může zacyklit (např. když spustíte 'chmod' jako reakci na IN_ATTRIB).
Aby se tomu zamezilo, lze použít speciální symbol, IN_NO_LOOP. Ten zajistí dočasnou deaktivaci sledování
(všech událostí pro dané pravidlo) a jeho obnovení pod zpracování události. Po dobu deaktivace
nebudou události na souboru sledovány (jádro je nebude programu incron oznamovat).
Q: Jak incron zpracovává IN_ONESHOT?
Ihned po první události se sledování deaktivuje. To znamená, že tato událost se může vyskytnou pouze
jednou, než je incrond restartován nebo se znovu načte tabulka.
Q: Je pro sledování změn souboru lepší použít událost IN_MODIFY nebo IN_CLOSE_WRITE?
Problematika událostí IN_MODIFY a IN_CLOSE_WRITE je popsána ve
FAQ pro techologii inotify.
Q: Jak používat v příkazech vlastnosti událostí?
Existuje pár speciálních symbolů začínajících znakem dolaru ($). Tyto symboly lze použít kdekoli uvnitř definice
příkazů. Více informací najdete v Dokumentaci.
Q: Lze specifikovat uživatele, pod kterým se bude příkaz spouštět?
Zatím ne. V budoucích verzích to půjde. Běžný uživatel ovšem toto právo
samozřejmě mít nebude.
Q: Lze nějak získat výstup spouštěného příkazu?
Zatím to jde pouze nepřímo - místo programu se spustí skript, který
zajistí přesměrování. Do budoucna se ale taková funkce plánuje,
pravděpodobně včetně možnosti posílání e-mailem.
Q: Jaká oprávnění incron používá v příkazech?
Příkazy spouštěné podle systémových tabulek běží s právy roota. Příkazy podle uživatelských tabulek
mají oprávnění příslušného uživatele.
Q: Lze spustit incrond na popředí?
Ano (od 0.4.0). Uveďte v příkazové řádce parametr -n nebo --foreground.
Q: Lze jednoduše ukončit běžící instanci incrond?
Ano (od 0.4.0). Spusťte z příkazové řádky incrond s parametrem -k nebo --kill.
Q: Mohu použít svůj vlastní editor?
Ano. Exportujte proměnnou EDITOR (např. export EDITOR=nano). Od verze 0.4.0 je akceptována i proměnná VISUAL
(s nižší prioritou než EDITOR) a je-li definován "alternativní" editor (/etc/alternatives/editor), má přednost
před tím "zadrátovaným".
Q: Jak incrond zaznamenává své akce?
Akce démona incrond jsou zaznamenávány přes syslog jako prostředek cron. Typické umístění souboru je
incrond actions are logged through syslog as the cron facility. The typical
/var/log/cron, ale může se mezi distribucemi lišit.
Q: Jak je nakládáno s proměnnými prostředí?
V současné době není možnost, jak přímo specifikovat vlastní proměnné prostředí pro spouštěné příkazy
(chcete-li je nastavovat, napište si prosím skript a nastavte proměnné tam), avšak je to v plánu pro
budoucí verze. Pro systémové tabulky se proměnné prostředí nemění. Totéž platí pro tabulku uživatele
root. U ostatních uživatelů je celé prostředí vymazáno a pak se nastavuje několik proměnných
(LOGNAME, USER, USERNAME, HOME, SHELL a PATH) s použitím údajů z databáze uživatelů. Proměnná
PATH se nastavuje na /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin.
Q: Jak je incron licencován?
incron je licencován pod GNU General Public License, verze 2. Některé části (např. inotify-cxx) mohou
být licencovány i pod jinými licencemi.
Q: Jak hlásit chyby?
Najdete-li chybu nebo máte nějaký návrh, můžete to ohlásti přes
systém sledování chyb.
Q: incron je výborný program! Chci podpořit jeho vývoj.
Můžete
poslat finanční dar
prostřednictvím služby PayPal. Pokud tak učiníte, bude 5 % celkové částky posláno
organizaci Electronic Frontier Foundation
(neziskové sdružení založené za účelem ochrany svobody v digitálním světě).
V rámci České republiky můžete zvolit i jinou formu finanční pomoci
- kontaktujte prosím
Díky za každou pomoc!