mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-01 05:45:45 +00:00
Improve configuration and setup of vnstat through the rc script
PR: 199133
This commit is contained in:
parent
191ff781a0
commit
e5e4ea1fd0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=385777
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= vnstat
|
||||
PORTVERSION= 1.12
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://humdi.net/vnstat/ \
|
||||
http://mirror.mcx2.org/
|
||||
|
@ -1,7 +1,14 @@
|
||||
###########################################################################
|
||||
vnstat has been installed.
|
||||
|
||||
A Sample configuration file has be installed in %%PREFIX%%/etc/
|
||||
A sample configuration file has been installed in %%PREFIX%%/etc/
|
||||
Please add your default network interface in the 'Interface' line there
|
||||
before starting vnstat service.
|
||||
You can add any number of additional interfaces either in
|
||||
vnstat_additional_ifaces variable in /etc/rc.conf, or with this command:
|
||||
su -m %%USERS%% -c "%%PREFIX%%/bin/vnstat --create --iface <your interface>"
|
||||
and restart vnstat service:
|
||||
service vnstat restart
|
||||
|
||||
For more information about vnStat use "man vnstat" or visit:
|
||||
http://humdi.net/vnstat/
|
||||
|
@ -9,6 +9,7 @@
|
||||
# Add the following line to /etc/rc.conf to enable vnstat:
|
||||
#
|
||||
# vnstat_enable="YES"
|
||||
# vnstat_additional_ifaces="em1"
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
@ -26,11 +27,23 @@ load_rc_config $name
|
||||
command="%%PREFIX%%/sbin/vnstatd"
|
||||
command_args="-p ${vnstat_pidfile} --config ${vnstat_config}"
|
||||
pidfile="${vnstat_pidfile}"
|
||||
user_cmd="%%PREFIX%%/bin/vnstat"
|
||||
|
||||
start_precmd=vnstat_startprecmd
|
||||
|
||||
create_iface_database()
|
||||
{
|
||||
local iface="$1"
|
||||
local descr="$2"
|
||||
su -m ${vnstat_user} -c "${user_cmd} --create --iface $iface" >/dev/null 2>&1 ||
|
||||
! echo "$name: Failed to create database for the $descr interface $iface" || return 1
|
||||
echo "$name: Created the database for the $descr interface $iface"
|
||||
}
|
||||
|
||||
vnstat_startprecmd()
|
||||
{
|
||||
local dbdir iface
|
||||
|
||||
if [ ! -e ${pidfile%/*} ]; then
|
||||
install -d -o ${vnstat_user} -g ${vnstat_group} ${pidfile%/*};
|
||||
fi
|
||||
@ -40,6 +53,18 @@ vnstat_startprecmd()
|
||||
install -d -o ${vnstat_user} -g ${vnstat_group} ${dbdir};
|
||||
fi
|
||||
|
||||
iface=$(grep "^Interface" ${vnstat_config} | head -1 | awk 'BEGIN{FS="\042"}{print $2}')
|
||||
if [ -n "${iface}" -a ! -f ${dbdir}/${iface} ]; then
|
||||
create_iface_database $iface "default" || return 1
|
||||
fi
|
||||
if [ -n "${vnstat_additional_ifaces}" ]; then
|
||||
for iface in ${vnstat_additional_ifaces}; do
|
||||
if [ ! -f ${dbdir}/${iface} ]; then
|
||||
create_iface_database $iface "additional" || return 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ ! -d "/var/run/vnstat" ]; then
|
||||
install -d -o ${vnstat_user} -g ${vnstat_group} /var/run/vnstat;
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user