Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FILEDAEMON(1)			   airframe			 FILEDAEMON(1)

NAME
       filedaemon - Invoke another program on files matching a glob pattern

SYNOPSIS
	   filedaemon  --in INPUT_GLOB [--out OUTPUT_DIR]
		       --nextdir PROCESSED_INPUT_DIRECTORY
		       --faildir FAILED_INPUT_DIRECTORY
		       [--extension OUTPUT_EXTENSION]
		       [--poll POLLING_DELAY] [--lock]
		       [--pidfile PID_FILE] [--no-daemon]
		       [--log LOG_SPECIFIER] [--loglevel LOG_LEVEL]
		       [--verbose] [--version]
		       -- PROGRAM [PROGRAM_ARGS]

DESCRIPTION
       filedaemon operates on input files matching a glob(3) pattern.  Each
       matching	input file is passed to	a child	program	(specified in the
       PROGRAM argument) which is expected to read input data from standard
       input and write the results to standard output.	filedaemon's job is
       simply to handle	the mechanics of directory polling, file globbing, and
       routing of input	and output files on behalf of the child	program.

       Use of two dashes (--) after all	filedaemon command-line	switches
       allows PROGRAM_ARGS to be interpreted by	the PROGRAM rather than
       filedaemon itself.  While they are not strictly required	if you do not
       need to pass arguments to PROGRAM, they should be used for consistency.

OPTIONS
   I/O Options
       These options control the file locations	for input and output files.

       --in INPUT_GLOB
	   INPUT_GLOB is a file	glob pattern, which must be  escaped or	quoted
	   to prevent the shell	expansion.  Files that match this pattern will
	   be processed	by filedaemon.	This option is required.

       --out OUTPUT_DIR
	   OUTPUT_DIR is a directory in	which to place output files.  The
	   directory must exist	prior to invoking filedaemon, and any files in
	   the directory that match the	names of output	files will be
	   overwritten.	 If not	specified, the current working directory will
	   be used.

   Daemon Options
       These options control what is done with processed input files, file
       locking,	and other options to facilitate	operation as a file daemon.

       --nextdir PROCESSED_INPUT_DIRECTORY
	   When	reading	from files, if this option is present, input files
	   will	be moved to PROCESSED_INPUT_DIRECTORY after they are
	   successfully	processed.  The	special	string delete will cause
	   successfully	processed input	to be removed instead. This option is
	   required.

       --faildir FAILED_INPUT_DIRECTORY
	   When	reading	from files, if this option is present, input files
	   will	be moved to FAILED_INPUT_DIRECTORY if processing failed.  The
	   special string delete will cause failed input to be removed
	   instead. This option	is required.

       --extension OUTPUT_EXTENSION
	   Replace the input file's extension with OUTPUT_EXTENSION.  For
	   example, if an input	file is	named "foo.txt", and this option is
	   "out", then the output file will be named "foo.out".	 If the	input
	   file	has no extension, then this option's value will	be appended to
	   the filename.  If this option is not	specified, output files	will
	   have	the same name as input files, except in	the case when the
	   --out option	is also	not specified, in which	case output files will
	   be given a .out extension to	avoid clobbering input files.

       --poll POLLING_DELAY
	   POLLING_DELAY is the	polling	delay in seconds; how long filedaemon
	   will	wait for new input when	none is	available. The default is 30
	   seconds.

       --lock
	   Use lockfiles for concurrent	file access protection.	 filedaemon
	   will	not process an input file for which a lock file	exists,	but
	   will	do so when the lock file is removed.  Lock files are written
	   to the same directory as the	input file, and	the filename is	the
	   input filename (including any extensions) with ".lock" appended.

       --pidfile=PIDFILE
	   Write the process identifier	of the filedaemon process to PIDFILE.
	   This	option exists to facilitate the	termination of the forked
	   filedaemon process by shutdown scripts.

       --no-daemon
	   Do not actually daemonize.  Mainly useful for testing/debugging.

   Logging Options
       These options are used to specify how log messages are routed.
       filedaemon can log to standard error, regular files, or the UNIX	syslog
       facility.

       --log LOG_SPECIFIER
	   Specifies destination for log messages. LOG_SPECIFIER can be	a
	   syslog(3) facility name, the	special	value stderr for standard
	   error, or the absolute path to a file for file logging. Standard
	   error logging is only available in --daemon mode if --foreground is
	   present. The	default	log specifier is stderr	if available, user
	   otherwise.

       --loglevel LOG_LEVEL
	   Specify minimum level for logged messages. In increasing levels of
	   verbosity, the supported log	levels are quiet, error, critical,
	   warning, message, info, and debug. The default logging level	is
	   warning.

       --verbose
	   Equivalent to --loglevel debug.

       --version
	   If present, print version and copyright information to standard
	   error and exit.

EXAMPLES
       The following will invoke "yaf" on .pcap	files in the /in directory,
       writing results to the /out directory with a .yaf extension.  Processed
       input files will	be moved to the	/next directory, and failed input
       files will be moved to the /fail	directory.

	   filedaemon -i "/in/*.txt" -o	/out -e	yaf \
	       --nextdir /next --faildir /fail -- yaf

       The same	as the first example, but with all input files deleted after
       processing:

	   filedaemon -i "/in/*.txt" -o	/out -e	yaf \
	       --nextdir delete	--faildir delete -- yaf

       The same	as the first example, but with a polling delay of 10 seconds
       (instead	of the default 30) and an additional --mac parameter passed to
       yaf:

	   filedaemon -i "/in/*.txt" -o	/out -e	yaf -p 10 \
	       --nextdir /next --faildir /fail -- yaf --mac

BUGS
       Known issues are	listed in the README file in the Airframe source
       distribution. Note that Airframe	should be considered alpha-quality
       software; not  every concievable	input and aggregation is exhaustively
       tested at each release, and specific features may be completely
       untested. Please	be mindful of this before deploying Airframe in
       production environments.	Bug reports and	feature	requests may be	sent
       via email to <netsa-help@cert.org>.

AUTHORS
       Tony Cebzanov and  Brian	Trammell for the CERT Network Situational
       Awareness Group,	http://www.cert.org/netsa

SEE ALSO
       glob(3),	airdaemon(1)

2.8.3				  12-Apr-2016			 FILEDAEMON(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | BUGS | AUTHORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=filedaemon&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help