Subversion Repositories public


Rev 81 | Rev 102 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
100 luk 1
.TH "incrond" "8" "0.5.8" "Lukas Jelinek" "incron documentation"
57 luk 2
incrond \- inotify cron (incron) daemon
77 luk 6
\fBincrond\fR [ \-f \fIfile\fR ] [ \-n | \-k ]
57 luk 7
67 luk 8
The inotify cron daemon (\fIincrond\fR) is a daemon which monitors filesystem events and executes commands defined in system and user tables. It's use is generally similar to \fIcron\fR(8).
57 luk 9
67 luk 10
\fIincrond\fR can be started from /etc/rc, /etc/rc.local and so on. It daemonizes itself (returns immediately) and doesn't need to be started with & and through \fInohup\fR(1). It can be run on foreground too.
57 luk 11
69 luk 12
\fIincrond\fR uses two categories of tables \fIincrontab\fR(5). System tables are usually located in /etc/incron.d and are maintained outside of incron (e.g. by various applications). These tables work on root rights level and thus any file may be watched and commands are executed with root privileges.
57 luk 13
69 luk 14
User tables are located in /var/spool/incron by default and have names based on user accounts. These tables use users' access rights, thus only files which the user may access are watched. Commands are executed with users' privileges.
67 luk 15
If a table (incrontab) is changed \fIincrond\fR reacts immediately and reloads the table. Currently running child processes (commands) are not affected.
69 luk 18
There are two files determining whether an user is allowed to use incron. These files have very simple syntax \- one user name per line. If /etc/incron.allow exists the user must be noted there to be allowed to use incron. Otherwise if /etc/incron.deny exists the user must not be noted there to use incron. If none of these files exists there is no other restriction whether anybody may use incron. Location of these files can be changed in the configuration.
57 luk 19
The daemon itself is currently not protected against looping. If a command executed due to an event causes the same event it leads to an infinite loop unless a flag mask containing IN_NO_LOOP is specified. Please beware of this and do not allow permission for use incron to unreliable users.
67 luk 21
\fB\-n\fR (or \fB\-\-foreground\fR) option causes running on foreground. This is useful especially for testing, debugging and optimization.
69 luk 25
\fB\-k\fR (or \fB\-\-kill\fR) option terminates a running instance of \fBincrond\fR.
77 luk 27
\fB\-f <FILE>\fR (or \fB\-\-config=<FILE>\fR) option specifies another location for the configuration file (/etc/incron.conf is used by default).
\fBEnvironment variables:\fR For system tables, the default (the same as for incrond itself) environment variable set is used. The same applies to root's table. For non\-root user tables, the whole environment is cleared and then only these variables are set: LOGNAME, USER, USERNAME, SHELL, HOME and PATH. The variables (except PATH) take values from the user database (e.g. /etc/passwd). The PATH variable is set to /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin.
57 luk 30
75 luk 31
incrontab(1), incrontab(5), incron.conf(5)
57 luk 32
67 luk 33
incrond is currently not resistent against looping. Recursive monitoring (whole subtrees) has not been implemented yet.
57 luk 34
Lukas Jelinek <>
This program is free software. It can be used, redistributed and/or modified under the terms of the GNU General Public License, version 2.