VPS流量控制脚本

前言:

我用过很多VPS后发现一些IDC厂家流量超标是不会关机或者暂停VPS的,例如阿里云国际(套路云),月月超标扣费还是很肉疼的,所以嘛,不控制一下,实在是hold不住了。

对了本脚本单位以GB计算非Gib;具体区别嘛,Gib是1024进位,GB是1000进位,如果用了Gib会误差93.132%,也就是说你的VPS有1024GB/月流量,写成Gib就是953.6Gib,误差还是挺大的,所以单位别搞混了。

值得注意的是阿里云国际是只计算出站流量的,入站流量免费(以VPS为中心思考)。

正文:

1-1.安装vnstat:

yum -y install epel-release
yum install -y vnstat
service vnstat start
chkconfig vnstat on

1-2.修改配置文件:

vi /etc/vnstat.conf

Tip:找到UnitMode 0 修改为:UnitMode 1

1-3.创建脚本文件check.sh:

vi check.sh

1-4.写入脚本:

#!/bin/bash
vnstat -u -i eth0                                                  #更新网卡记录
ax=`vnstat --oneline | awk -F ";" '{print $10}'`                   #获取每月用量/$11是:进站+出站/$10是:出站/$9是:进站(流量统计规则)
if [[ "$ax" == *GB* ]];                                            #如果每月用量单位是GB则进入
then
if [ $(echo "$(echo "$ax" | sed 's/ GB//g') / 999"|bc) -eq 1 ]     #每月实际消耗流量数除以999,如果是大于或等于1,则执行关机命令/如果小于1则不执行(单位是GB)
then
      /usr/sbin/shutdown -h now
fi
fi

1-5.给check.sh授于权限:

chmod +x check.sh

1-6.设置定时任务:

crontab -e

1-7.写入命令,每5分钟执行一次(可能会降低准确度,但是相比没等VPS开机就自动关机来说,还算仁慈,哈哈!):

*/5 * * * * /bin/bash /root/check.sh

1-8.常用命令:

vnstat      #默认查看内容
vnstat -h   #按小时统计显示
vnstat -d   #按天统计显示
vnstat -m   #按月统计显示
vnstat -w   #按星期统计显示
vnstat -t   #显示流量消耗最大的前10天

结尾:

加一个脚本控制流量叫保险…套路云真贵!

后期有问题再补充吧!

原创文章