Dokumentace k programu incron
Požadavky
- jádro Linux ve verzi 2.6.13 nebo pozdější (se zakompilovaným inotify)
- hlavičkové soubory inotify (
inotify.h
, případně iinotify-syscalls.h
) nainstalované v<INCLUDE_DIR>/sys
. Obvyklým místem je/usr/include/sys
. Na některých distribucích je jen jeden z těchto souborů (inotify.h
), který obsahuje vše potřebné. - kompilátor GCC 4.x (pravděpodobně bude fungovat i GCC 3.4, možná i starší verze)
Poznámka: Stahování inotify-cxx není nutné. Každý zdrojový balíček programu incron obsahuje odpovídající verzi inotify-cxx.
Jak zkompilovat
Protože tato verze je poměrně časná, neobsahuje žádný standardní přenositelný kompilační mechanismus (jako např. pro autotools). Je zde pouze soubor Makefile, který se musí případně ručně upravit. Na mnoha linuxových systémem ale nejsou žádné úpravy nutné.
Zkontroluje prosím soubor Makefile DŘÍVE, než spustíte 'make'. Ověřte zvlášť proměnnou PREFIX a další obvyklé proměnné. Až tu bude hotovo, můžete spustit kompilaci souborů ('make').
Binární soubory incron musíte samozřejmě instalovat ('make install') jako root.
V souboru Makefile jsou určité speciální cíle:
- uninstall - Odinstaluje nainstalované soubory programu incron. Neodstraňuje žádné systémové ani uživatelské tabulky.
- update - Aktualizuje instalaci programu incron (ekvivalentní 'make uninstall install')
- release - Vytvoří verzi k šíření. Výsledkem budou tři balíčky (gzip tar, bz2 tar a zip) a soubor s kontrolními součy SHA1 pro každý z balíčků. POZOR: Tento cíl vyžaduje projektový soubor doxygen a nainstalovaný program doxygen!
- release-clean - Odstraní dříve vytvořené soubory pro šíření (viz výše).
Jak používat
Démon incron (incrond) se musí spouštět pod uživatelem root (typicky ze skriptu pro runlevel atd.). Načte tabulky pro incron a vytvoří si na nich monitory pro sledování případných změn.
Tabulkový manipulátor může spouštět kterýkoli běžný uživatel - kvůli přístup k tabulkám používá SUID. Pro manipulaci s tabulkami se používá v zásadě stejná syntaxe jakou u programu crontab. Můžete importovat tabulku, odstranit ji nebo editovat.
Řádky tabulky mají následující syntaxi (mezi elementy použijte jednu nebo více mezer):
<cesta> <maska> <příkaz>
Kde platí:
<cesta>
je absolutní cesta k souboru (každému bílému znaku musí předcházet obrácené lomítko)<maska>
je symbolická (vizinotify.h
; pro oddělení symbolů použijte čárku) nebo číselná maska pro události<příkaz>
je aplikace nebo skript pro spuštění při události
Příkaz může obsahovat následující speciální symboly:
$$
- znak dolaru$@
- sledovaná cesta k souboru (viz výše)$#
- název souboru, kde nastala událost$%
- příznaky události (textově - symbolické názvy)$&
- příznaky události (číselně)
Maska může navíc obsahovat speciální symbol IN_NO_LOOP
, který deaktivuje příjem událostí
po dobu zpracování dané události (aby se zabránilo zacyklení).
Příklad: Potřebujete spustit program 'abc'
s celou cestou k souboru jakožto argumentem,
vždy když se změní soubor v /var/mail
. Jedno z možných řešení je toto:
/var/mail IN_CLOSE_WRITE abc $@/$#
Od verze 0.4.0 jsou podporovány i systémové tabulky. Jsou umístěny v adresáři
/etc/incron.d
a příkazy v nich uvedené jsou spouštěny s právy roota. Systémové tabulky
se upravují přímo (bez programu incrontab).
Detailní informace o použití programů incrond a incrontab najdete v jejich manuálových stránkách (jsou přiloženy v balíčcích systému incron).
Licencování
Tento program je svobodný software; můžete ho používat, dále šířit a/nebo modifikovat za podmínek GNU General Public License, version 2.
Vnitřní referenční dokumentace (poslední verze)
Běžně neexistuje žádný skutečný důvod, proč si referenční dokumentaci stahovat odsud. Každý zdrojový balíček obsahuje odpovídající verzi referenční dokumentace.
Chyby, návrhy
TENTO PROGRAM JE ALFA VERZE. PRAVDĚPODOBNĚ OBSAHUJE CHYBY A PROTO NENÍ URČEN K PRODUKČNÍMU POUŽITÍ.
Najdete-li chybu nebo máte návrh na vylepšení programu, použijte prosím systém sledování chyb.