Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tklauser/inotail

A fast and lightweight version of tail using inotify
https://github.com/tklauser/inotail

Last synced: 16 days ago
JSON representation

A fast and lightweight version of tail using inotify

Awesome Lists containing this project

README

        

inotail - inotify enhanced tail
o===============================o

inotail is a replacement for the 'tail' program found in the base installation
of every Linux/UNIX system. It makes use of the inotify infrastructure in recent
versions of the Linux kernel to speed up tailing files in the follow mode (the
'-f' option). Standard tail polls the file every second by default while inotail
listens to special events sent by the kernel through the inotify API to
determine whether a file needs to be reread.

inotail is compatible to POSIX and GNU tail. See section "Compatibility &
options" for more information.

Requirements
------------
- Linux kernel 2.6.13 or higher with CONFIG_INOTIFY enabled
- Standard C Library (tested with GNU libc but might work with others too)
- GCC (other compilers might work but are not tested)

Building and installing inotail
-------------------------------
To build inotail type:

$ make

By default, inotail is installed to /usr/local/bin/, the manpage is installed to
/usr/local/share/man/man1/. To install the inotail files to these locations type:

$ make install

To change these locations just set the prefix variable. E.g. to install the
inotail binary to /usr/ and the manpage to /usr/share/man/ respectively type:

$ make prefix=/usr install

Compatibility & options
-----------------------
inotail is fully compatible with current POSIX and GNU tail, though the
obsolescent options present in previous versions of those are not present (e.g.
inotail +/-). The following options are present in inotail for
compatibility reasons (e.g. to use inotail as a tail replacement in scripts) but
do have no effect on inotail besides emiting a warning:

-s N, --sleep-interval=N inotail does not need a sleep interval because it's
relying on inotify.

--max-unchanged-stats=N inotail watches the containing directory of the file
when following by name (--follow=name or -F). Thus it
gets notified when a file gets moved or deleted.

--pid=PID Watching the writer PID ios not possible, because
inotail blocks on the read() call on the inotify fd.
In the worst case, the dying process wouldn't cause an
inotify event, so inotail would never get back from
the read().

These options are neither documented in the manpage nor the in-program help.

License
-------
inotail is licensed under the terms of the GNU General Public License version 2
or later. You can find the full text in the file LICENSE in the source tree of
inotail.

-- Tobias Klauser