Provided by: vnstat_1.11-2_amd64 bug


       vnStatd - the alternative for cron based updating


       vnstatd  [ -Ddnpsv?  ] [ --config file ] [ --daemon ] [ --debug ] [ --help ] [ --noadd ] [
       --nodaemon ] [ --pidfile file ] [ --sync ] [ --version ]


       The purpose of vnstatd is to provide a more flexible way for updating vnstat(1)  databases
       than  what  using  cron  for  updating  can  provide.  The  daemon makes possible updating
       databases more often but at the same time requires less disk  access  since  data  can  be
       cached  and written only later to disk at a user configurable interval. It is also able to
       track how interfaces come and go without the need of additional scripts that are  required
       with cron based updates.

       vnstatd  is  the command for starting the daemon. The daemon can either fork itself to run
       as a background process or stay attached to the terminal.  It supports logging to  a  user
       selectable file or using syslog.

       Once  started,  the daemon will check if there are any databases available in the database
       directory that has been specified in the configuration file. New databases will be created
       for  all available interfaces excluding pseudo interfaces lo, lo0 and sit0 if no databases
       are found during startup.


       --config file
              Use file as config file instead of using normal config file search function.

       -d, --daemon
              Fork process to background and run as a daemon.

       -D, --debug
              Provide additional output for debug purposes. The process will stay attached to the
              terminal for output.

              Disable  automatic  creation  of  new databases for all available interfaces if the
              daemon is started with zero database found. Pseudo interfaces lo, lo0 and sit0  are
              excluded from getting added.

       -n, --nodaemon
              Stay in foreground attached to the current terminal and start update process.

       -p, --pidfile file
              Write the process id to file and use it for locking so that another instance of the
              daemon cannot be started if the same file is specified.

       -s, --sync
              Synchronize internal counters in the  database  with  interface  counters  for  all
              available  interfaces  before  starting traffic monitoring.  Use this option if the
              traffic between the previous shutdown and the current startup of the  daemon  needs
              to  be  ignored.  This  option isn't required in normal use because the daemon will
              automatically synchronize the internal counters after a system reboot,  if  enought
              time has passed since the daemon was previously running or if the internal counters
              are clearly out of sync.

       -v, --version
              Show current version.

       -?, --help
              Show a command summary.


       The behaviour of  the  daemon  is  configured  mainly  using  the  configuration  keywords
       UpdateInterval, PollInterval and SaveInterval in the configuration file.

       UpdateInterval  defines  in  seconds  how  often  the  interface data is updated.  This is
       similar to the run interval for alternative cron based updating.  However, the  difference
       is that the data doesn't get written to disk during updates.

       PollInterval  defines in seconds how often the list of available interfaces is checked for
       possible changes. The minimum value is 2 seconds and the maximum 60 seconds.  PollInterval
       also defines the resolution for other intervals.

       SaveInterval  defines  in  minutes  how often cached interface data is written to disk.  A
       write can only occur during the updating of interface data. Therefore, the value should be
       a multiple of UpdateInterval with a maximum value of 60 minutes.

       The  default  values  of  UpdateInterval 20, SaveInterval 5 and PollInterval 2 are usually
       suitable for most systems and provide a similar behaviour as cron based updating does  but
       with a better resolution for interface changes and fast interfaces.

       For  embedded  and/or  low  power systems more tuned configurations are possible.  In such
       cases if the interfaces are mostly static the PollInterval can be rised  to  around  10-30
       seconds and UpdateInterval set to 60 seconds. Higher values up to 300 seconds are possible
       if the interface speed is 10 Mbit or less.  SaveInterval can be rised for example  to  15,
       30 or even 60 minutes depending on how often the data needs to be viewed.


       The  daemon is listening to signals SIGHUP, SIGINT and SIGTERM.  Sending the SIGHUP signal
       to the daemon will cause cached data to be written to  disk,  a  rescan  of  the  database
       directory and a reload of settings from the configuration file. However, the pid file will
       not be updated even if it's configuration setting has been changed.

       SIGTERM and SIGINT signals will cause the daemon to write all cached data to disk and then


              Default database directory. Files are named according to the monitored interfaces.

              Config  file that will be used unless $HOME/.vnstatrc exists. See the configuration
              chapter and vnstat.conf(5) for more information.

              Log file that will be used if logging to file  is  enable  and  no  other  file  is
              specified in the config file.

              File  used  for  storing  the  process  id  if  no  other  file is specified in the
              configuration file or using the command line parameter.


       Updates needs to be executed at least as often as it is  possible  for  the  interface  to
       generate  enough  traffic  to  wrap  the kernel interface traffic counter. Otherwise it is
       possible that some traffic won't be seen. This isn't an issue for 64 bit  kernels  but  at
       least  one update every hour is always required in order to provide proper input.  With 32
       bit kernels the maximum time between two updates depends on how  fast  the  interface  can
       transfer 4 GiB. Calculated theoretical times are:

              10 Mbit:        54 minutes
              100 Mbit:        5 minutes
              1000 Mbit:      30 seconds

       However,  for  1000  Mbit  interfaces  updating  once  every  minute  is usually a working

       Virtual and aliased interfaces cannot be monitored  because  the  kernel  doesn't  provide
       traffic information for that type of interfaces. Such interfaces are usually named eth0:0,
       eth0:1, eth0:2 etc. where eth0 is the actual interface being aliased.


       Teemu Toivola <tst at iki dot fi>


       vnstat(1), vnstati(1), vnstat.conf(5), signal(7)