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:

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.
  1. check for memory leaks
  2. INSTALL configure options
  3. HP-UX binaries
  4. BSD binaries
  5. verify builds on other linux dists
  6. explain the alogorithm used to execute the copy
  7. regex/glob support in source filespec
  8. configure check for bool type (Sun CC 4.2)
  9. SIGHUP support for reset
  10. accept parameters for wrapping log
  11. syslog option for logging
  12. lockf()/fcntl() locking on source file
  13. track stats on stab/lock files to detect stale locks
  14. accept uid/gid in place of names
  15. translate symbolic constants for MODE
  16. mail support
  17. parse mail into multiple mail addresses
  18. check using fuser or proc filesystem for open writers
  19. fork to do copy in case it takes longer than expected