NAME
inoticoming - trigger actions when files hit an incoming directory
SYNOPSIS
inoticoming [ global-options ] directory actions*
DESCRIPTION
Inoticoming is a daemon to watch a directory with Linux’s inotify
framework and trigger actions once files with specific names are placed
in there.
For example it can be used to wait for .changes files uploaded into a
directory and call reprepro to put them into your repository.
GLOBAL OPTIONS
--foreground
Do not fork, but stay in the foreground and log to stderr.
--logfile filename
After forking in the background, log to the specified filename
instead of syslog.
--pid-file filename
Write the pid of the running instance into filename.
--initialsearch
First search the directory for files already existing and
process them with the given rules as if they just appeared. If
files show up in this inital phase, they may be processed twice,
but should never be missed. (Unless they are too many and the
inotify queue overflows).
ACTIONS
Each action description is an optional list of options for this action
(which files to call it for, what directory to change into before
executing it, ...), followed by the command and its arguments ended
with a single ; as argument. Like:
inoticoming --foreground / --regexp ^v echo There appeared {} in the
root directory. \; (Note that the \ before the ; is needed if and only
if you calling it from a shell or anything else interpreting the ; on
its own).
ACTION OPTIONS
--prefix string
Only trigger this action, if the filename starts with the
specified string.
--suffix string
Only trigger this action, if the filename ends with the
specified string.
--regexp regular expression
Only trigger this action, if the filename matches the specified
regular expression.
--chdir directory
Change into directory before executing the specified commands.
(Note that since it is a well-behaved daemon, its working
directory is / which will be inherited by all actions).
--stdout-to-log
Redirect the command’s output (stdout) to the logfile.
--stderr-to-log
Redirect the command’s error output (stderr) to the logfile.
EXAMPLES
inoticoming --logfile logs/ilog --pid-file pid $INCOMINGDIR --suffix
.changes --stderr-to-log reprepro -s -b $REPREPROBASEDIR --waitforlock
1000 processincoming rulename {} \;
This will call reprepro for every new .changes file. Note that
giving {} as argument to processincoming (which inoticoming will
replace with the filename) so that only that .changes file is
processed and reprepro will not complain about a possible other
yet incomplete .changes file is only available starting with
reprepro version 2.2.2.
PROBLEMS
There is no handling of queue overflows yet.
REPORTING BUGS
Report bugs or wishlist requests to the Debian BTS
(e.g. by using reportbug inoticoming under Debian)
or directly to <brlink@debian.org>.
COPYRIGHT
Copyright © 2007 Bernhard R. Link
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.