更新系统
sudo apt update && sudo apt upgrade
安装vnstat
https://humdi.net/vnstat/
wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
tar xvzf vnstat-1.11.tar.gz
cd vnstat-1.11
make && make install
编译安装完毕,通过 ifconfig -a 查看你的网卡,通常显示如下:
enp0s20: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.212 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::555:c55f:f55b:655d prefixlen 64 scopeid 0x20<link>
ether 00:27:cb:0b:58:0d txqueuelen 1000 (Ethernet)
RX packets 2329229810 bytes 2006287861171 (2.0 TB)
RX errors 0 dropped 0 overruns 138528 frame 0
TX packets 1651661973 bytes 1756965281270 (1.7 TB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x80000000-8001ffff
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 112307 bytes 28823115 (28.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 112307 bytes 28823115 (28.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2、通过ifconfig查看网卡名称,生成数据库:
vnstat -u -i enp0s20
3、更新数据库
方法一:通过cron定时更新数据库
vi /etc/cron.d/vnstat
输入:
*/1 * * * * root /usr/bin/vnstat -u -i enp0s20
设置为一分钟更新一次数据库。
方法二:使用vnstat守护进程
执行:
vnstatd -d
官网提供vnstatd的自启动脚本:http://humdi.net/vnstat/init.d/redhat/vnstat
放到/etc/init.d目录下。
cd /etc/init.d
wget http://humdi.net/vnstat/init.d/redhat/vnstat
chmod +x vnstat
chkconfig --add vnstat
chkconfig vnstat on
service vnstat restart
方法1
然后定时更新数据库,通过cron的方式:
实际上在安装vnstat时,已经在系统里安装好了vnstat的cron,crontab内容在 /etc/cron.d/vnstat,如果没有使用命令 touch /etc/cron.d/vnstat 创建
nano /etc/cron.d/vnstat
内容为:
0-55/5 * * * * root vnstat -u -i enp0s20
0-55/5 * * * * root vnstat --dumpdb -i enp0s20>/var/lib/vnstat/vnstat_dump_enp0s20
第一行为安装时自动指定的.
第二行是为了更新eth0的数据后,dump出来一个文件,给 php访问接口访问.
这里dump出来的vnstat_dump_eth0 文件名是有规定的。
方法2(方法1无效的话启用方法2)
cat > /var/lib/vnstat/dump.sh<<EOF
vnstat -u -i eth0
vnstat --dumpdb -i eth0 >/var/lib/vnstat/vnstat_dump_eth0
EOF
再执行:
crontab -e
加入执行命令
*/5 * * * * sh /var/lib/vnstat/dump.sh
再删除vnstat原有的cron
安装vnstat PHP frontend
http://www.sqweek.com/sqweek/index.php?p=1
cd /var/www/html
wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
tar xvzf vnstat_php_frontend-1.5.1.tar.gz
mv vnstat_php_frontend-1.5.1 vnstat
cd vnstat
nano config.php
#修改语言显示
$locale = 'en_US.UTF-8';
$language = 'en';
#网卡接口
$iface_list = array(‘enp0s20′);
#多个网卡接口
$iface_list = array(‘eth0′, ‘eth1′);
#接口名称
$iface_list = array('enp0s20');
$iface_title['enp0s20'] = 'VPSOP-Internal';
#程序路径
$vnstat_bin = '/usr/bin/vnstat';
#数据存放路径
$data_dir = './var/lib/vnstat/';
#绘图方式
$graph_format='png';
如果没有WEB环境的话,以apache为例
sudo apt-get install apache2
安装PHP
sudo apt-get install php7.0
查看PHP是否安装成功
php -v
PHP和Apache都安装好后就需要让Apache能够识别解析PHP文件,我们先搜一下有没有适合PHP7的插件
apt-cache search libapache2-mod-php
root@PAR-149828:~# apt-cache search libapache2-mod-php
libapache2-mod-php - server-side, HTML-embedded scripting language (Apache 2 module) (default)
libapache2-mod-php7.2 - server-side, HTML-embedded scripting language (Apache 2 module)
php7.2-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
可以看到搜出来的结果里面有一个是PHP7.2版本的,我们就安装这个
sudo apt-get install libapache2-mod-php7.2
Mysql安装
sudo apt-get install mysql-server mysql-client
安装过程中会提示设置root账号的登录密码,输入后选择OK继续安装
mysql -V
重启apche
sudo /etc/init.d/apache2 restart
然后把vnstat移动到web目录下即可.
apache默认web目录/var/www/html
cp –r vnstat /var/www/html/vnstat