另一个VPS流量超过后自动关机脚本
说明
本脚本单位以GB计算非Gib;Gib是1024进位,GB是1000进位。
如果用了Gib会误差93.132%,也就是说你的VPS有1024GB/月流量,写成Gib就是953.6Gib,误差还是挺大的,所以单位别搞混了。
值得注意的是阿里云国际是只计算出站流量的,入站流量免费(以VPS为中心思考)。
安装vnstat(centos)
yum -y install epel-release
yum install -y vnstat
service vnstat start
chkconfig vnstat on
安装vnstat(debian)
apt-get install vnstat
修改配置文件
vi /etc/vnstat.conf
找到UnitMode 0 修改为:UnitMode 1
创建脚本文件check.sh
vi check.sh
#!/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') / 99"|bc) -eq 1 ] #每月实际流量数除以99,大于或等于1,则执行关机命令
then
/usr/sbin/shutdown -h now
fi
fi
给check.sh授于权限
chmod +x check.sh
设置定时执行
每5分钟执行一次(可能会降低准确度,防止VPS开机就自动关机)
crontab -e
*/5 * * * * /bin/bash /root/check.sh
常用命令
vnstat --iflist #列出当前可用网卡
vnstat #默认查看内容
vnstat -h #按小时统计显示
vnstat -d #按天统计显示
vnstat -m #按月统计显示
vnstat -w #按星期统计显示
vnstat -t #显示流量消耗最大的前10天
清风在阿里国际香港centos下测试通过
最后修改于 2020-06-21