afickonfig - a tool to manage Afick's config files

- NAME
- DESCRIPTION
- SYNOPSIS
- REQUIRED ARGUMENTS
- OPTIONS
- ACTIONS
- MACROS
- ALIAS
- DIRECTIVES
- RULES
- FILES
- USE
- USAGE
- NOTES
- SEE ALSO
- DIAGNOSTICS
- EXIT STATUS
- CONFIGURATION
- DEPENDENCIES
- INCOMPATIBILITIES
- BUGS AND LIMITATIONS
- LICENSE AND COPYRIGHT
- AUTHOR

# NAME

afickonfig - a tool to manage Afick's config files

# DESCRIPTION

`afickonfig` is to change parameters in afick's config file, in a batch way. It can add, replace, remove any components (macro, alias, directives, rules) It was designed to work with same options names as afick (directives).

Note : in the current version, it can checks some arguments syntax before applying,

The idea came from the "postconf" utility from postfix.

# SYNOPSIS

afickonfig.pl [options] [action] [macros] [alias] [directives] [rules]

afick use posix syntax, which allow many possibilities :

- long (--) options
- short (-) options
- negative (--no) options

# REQUIRED ARGUMENTS

# OPTIONS

options are used to control afickconfig

--config_file|-c configfile

  read the configuration in config file named "configfile".

--check_config|-C

  only check config file syntax and exit with the number of errors

--clean_config|-G

  check config file syntax, clean bad line, and exit with the number of errors

--help|-?

  Output summary help information and exit.

--man

  Output full help information and exit.

--print_config

  display internals variables after arguments and config file parsing (for debugging purposes)

--version|-V

  Output version information and exit.

--verbose|-v

  add debugging messages

# ACTIONS

actions are used to change afick's configuration

--allow_overload,(--noallow_overload)

  if set, allow rule overload (the last rule wins), else put a warning and keep the first rule.

--archive|-A directory

  write reports to "directory".

--database|-D name

  select the database named "name".

--debug|-d level

  set a level of debugging messages, from 0 (none) to 3 (full)

--full_newdel|-f,(--nofull_newdel)

  (do not) report full information on new and deleted directories.

--history|-y historyfile

  write session status to history file

--ignore_case|-a

  ignore case for file names. Can be helpful on Windows platforms, but is dangerous on Unix ones.

--missing_files|-m,(--nomissing_files)

  (do not) warn about files declared in config files which does not exists.

--max_checksum_size|-S size

  fix a maximum size (bytes) for checksum. on bigger files, compute checksum only on first 'size' bytes. (0 means no limit)

--dead_symlinks|-s,(--nodead_symlinks)

  (do not) warn about dead symlinks.

--follow_symlinks,(--nofollow_symlinks)

  if set, do checksum on target file, else do checksum on target file name.

--running_files|-r,(--norunning_files)

  (do not) warn about "running" files : modified since program begin.

--timing|-t,(--notiming)

  (do not) Print timing statistics.

--exclude_suffix|-x "ext1 ext2 ... extn"

  list of suffixes (files/directories ending in .ext1 or .ext2 ...) to ignore.

--exclude_prefix|-X "pre1 pre2 ... pren"

  list of prefix (files/directories beginning with pre1 or pre2 ...) to ignore.

--exclude_re|-R "pat1 pat2 ... patn"

  list of patterns (regular expressions) to ignore files or directories

# MACROS

macros are to be set in afick configuration format (see afick.conf(5)) : `'@@define macro value'`

# ALIAS

aliases are to be set in afick configuration format (see afick.conf(5)) : `'newrule = attributes'`

# DIRECTIVES

directives are to be set in afick configuration format (see afick.conf(5)) : `'directive := value'`

# RULES

rules are to be set in afick configuration format (see afick.conf(5)) : `'file alias'`

you can also use

--addpath

  add PATH directories to rules

--addlib

  add libraries directories to rules (linux)

# FILES

if no config file on command line, afick try to open /etc/afick.conf (Unix) or windows.conf (Windows) as default config

for config file syntax see afick.conf(5)

# USE

afickonfig may

change a config

  if it can find an old config

add a config

  if it does not find a previous value

remove a config

  you just have to specify a parameter without any value. the old line is commented

# USAGE

To use this program, you must just run it with same afick command line options :

`afickonfig.pl -c afick.conf --timing --norunnig_files --debug=1 --archive=afick_archive`

or the same in configuration file syntax :

`afickonfig.pl -c afick.conf 'timing := 1' ' running_files := no' 'debug:=1 'archive:=afick_archive'`

and a mix of all types

`afickonfig.pl -c afick.conf --timing 'debug:=1' '@@define BATCH 0' 'newrule = p+u+g' '/tmp newrule'`

remove lines

`afickonfig -c afick.conf 'debug:=' '@@define BATCH' 'newrule=' '/tmp'`

# NOTES

this program only use perl and its standard modules.

# SEE ALSO

afick.conf(5) for the configuration file syntax

afick-tk(1) for the graphical interface

afick(1) for the command-line interface

afick_archive(1) for a tool to manage archive's reports

# DIAGNOSTICS

all warnings go to stderr

# EXIT STATUS

The exit status is the number of real changes

# CONFIGURATION

no specific configuration file

# DEPENDENCIES

perl

# INCOMPATIBILITIES

(none)

# BUGS AND LIMITATIONS

(none known)

# LICENSE AND COPYRIGHT

Copyright (c) 2002 Eric Gerbier All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

# AUTHOR

Eric Gerbier

you can report any bug or suggest to gerbier@users.sourceforge.net

afickonfig - a tool to manage Afick's config files