NAME
dnotify - Execute a command when the contents of a
directory change
SYNOPSIS
dnotify [OPTION]...
DIRECTORY... [-e COMMAND...]
DESCRIPTION
This manual page document describes the
dnotify command.
The dnotify program executes COMMAND every time the
contents of any of the specified directories change. If a command
is not specified, `echo {}' is assumed.
What is considered a change is determined by the `--access',
`--modify', `--create', `--delete', `--rename' and `--attrib'
options (see below). These options may be combined. If none of them
are specified, create and delete are assumed.
The string `{}' in the command specification is replaced by the
name of the directory that was updated.
OPTIONS
This program follow the usual GNU command line
syntax, with long options starting with two dashes (`-').
- -A, --access
- Trigger the command when a file in one of the directories was
accessed (read).
- -M, --modify
- Trigger the command when a file in one of the directories was
modified (i.e. written or truncated).
- -C, --create
- Trigger the command when a file was created in a directory.
- -D, --delete
- Trigger the command when a file was removed from a directory.
- -R, --rename
- Trigger the command when a file in one of the directories was
renamed.
- -B, --attrib
- Trigger the command when a file in one of the directories had
its attributes changed (as a result of chmod or chown).
- -a, --all
- Trigger the command when any of the events above occurs. That
is, this is a shorthand for '-AMCDRO'.
- -e, --execute=COMMAND...
- This option specifies the command to execute. All arguments
(including possible options) following this option are treated as
arguments to the command.
The string `{}' in the command specification is replaced by the
name of the directory that was updated (just like find(1)).
- -f, --file=FILE
- The option specifies a file containing directory names to
monitor, as if they had been specified on the command line. There
must be one directory name per line in the file.
This option can be used multiple times.
- -p, --processes=COUNT
- This option specifies the maximum number of commands to be run
at the same time. It is possible to allow an unlimited number of
commands to be run at the same time by specifying COUNT as 0 or -1.
The default value is 1.
- -q, --queue=DEPTH
- This option specifies the maximum number of commands to queue
up while there are other commands already executing. This is
usually used in conjunction with the --processes option. An
unlimited depth of the queue can be achieved by specifying DEPTH as
-1.
The default value is -1.
- -t, --times=COUNT
- Exit dnotify once the command has been run (and finished
running) COUNT times.
- -o, --once
- Exit dnotify when the specified command has been run once. This
is equivalent to `--times 1'.
- -r, --recursive
- Traverse the specified directories and monitor all
subdirectories (at any depth) as well.
dnotify will only scan directories once to find out
subdirectories to monitor when recursive mode is enabled. If you
want to monitor any subdirectory created, you will have to stop and
restart dnotify every time a create or delete event occurs.
- -b, --background
- Run dnotify in the background - detach from terminal. Prior to
executing any commands, dnotify will change the current directory
to the root directory (`/'). Relative path names of directories to
monitor will be made absolute automaticly, but make sure the
command you specify does not rely on the current directory being
unchanged.
- -s, --silent, --quiet
- Do not print warnings when the executed commands exits with a
non-zero return value.
- --help
- Show summary of options.
- --version
- Output version information and exit.
EXAMPLES
Print 'change' to the terminal every time a file
(or part of file) in /etc is read.
dnotify -A
/etc -e echo change
Execute the script 'informdelete' every time a file in /var/mail
is created or deleted.
dnotify -CD
/var/mail -e informdelete
AUTHOR
dnotify was written by Oskar Liljeblad
<>.