FileCheck Daemon (filechkd)
Thanks to Source Forge and
VA Linux for hosting this
project. If you have an Open Source project that needs a home
on the Internet you really should check these guys out.
The
filechkd project page provides for bug tracking, project news
and other project related services.
Overview
The file check daemon monitors files according to rules
defined in configuration files. When a file is considered
stable (due to its age, presence of a flag file, etc.) then
it gets copied to a new location. Rotating backups of the
destination file can be made and owner, group and
permissions can be specified for the destination.
Some examples of where this utility has been found to be
useful are:
-
Moving files out of an incoming FTP directory in a timely manner.
-
Moving files uploaded to a web server into directories
with different user/group. This lets the administrator
run the web server as a non-root user and accept uploads
using web server based authentication and then move the
files to a more secure area after the transfer.
The details of how to determine whether a file is stable
and what to do with it once it is are defined in a "Filespec"
configuration file. There is a separate filespec for each file
that will be monitored which means that each file can have unique
behavior associated with it.
A more complete description is available in the README
file.
Instructions for building and installing filechkd are available in the
INSTALL file.
Please feel free to email suggestions,
complaints or requests - it may be better to use the
mailing list, but I can also be reached directly at
gwiley@ieee.org.
Current Release
The current release is pretty stable and is in use.
Sources
Binaries
I will be happy to supply binaries for any of the platforms that I have
available. Some of them are listed in the "Supported Platforms" section.
Supported Platforms
Autoconf was used so filechkd is likely to build and run on a variety
of platforms. If you find one that gives you trouble let me know
and I will try to remedy the situation.
I have sucessfully built/executed it in the following environments:
- Linux (Red Hat 6.1)
- glibc 2.1, egcs 2.91
- Solaris 7 (sparc)
- gcc 2.95, gnu make
Mailing Lists
There is a mailing list for filechkd hosted by Source Forge, to
subscribe send email to
filechkd-users-request@lists.sourceforge.net
with "subscribe" in the subject or body of the message.
Todo
The following items are on the radar, if any of them are particularly
important to you then drop me a note and I will see what I can do
to reprioritize them.
- check for memory leaks
- INSTALL configure options
- HP-UX binaries
- BSD binaries
- verify builds on other linux dists
- explain the alogorithm used to execute the copy
- regex/glob support in source filespec
- configure check for bool type (Sun CC 4.2)
- SIGHUP support for reset
- accept parameters for wrapping log
- syslog option for logging
- lockf()/fcntl() locking on source file
- track stats on stab/lock files to detect stale locks
- accept uid/gid in place of names
- translate symbolic constants for MODE
- mail support
- parse mail into multiple mail addresses
- check using fuser or proc filesystem for open writers
- fork to do copy in case it takes longer than expected