OnWorks favicon

vnstatd - Online in the Cloud

Run vnstatd in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command vnstatd that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



vnstatd - daemon based database updating for vnStat


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


The purpose of vnstatd is to provide a more flexible and robust 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 causes less disk access since data can
be cached and written only later to disk at a user configurable interval. The availability
of each interface is automatically tracked which removes the need for additional scripts
to be implemented and called when an interface comes online or goes offline.

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 read vnstat.conf(5) if available and then 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. This
behaviour can be disabled if needed. The daemon will then proceed to track the
availability of monitored interfaces, process the interface traffic statistics and write
new values to databases at a configured interval. As a result, the daemon ends up spending
most of the time sleeping between updates.


--config file
Use file as configuration file instead of using normal configuration file search

-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.

-g, --group group
Set daemon process group to group during startup. group can be either the name of
the group or a numerical group id. This option can only be used when the process is
started as root.

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 the 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.

-u, --user user
Set daemon process user to user during startup. user can be either the login of
the user or a numerical user id. This option can only be used when the process is
started as root.

-v, --version
Show current version of the daemon executable.

-?, --help
Show a command option 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 fetched and updated.
This is similar to the run interval for alternative cron based updating. However, the
difference is that the data doesn't directly 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 30, SaveInterval 5 and PollInterval 5 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 increased 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 increased 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
location will not be changed even if it's configuration setting has been modified.

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

Use vnstatd online using onworks.net services