全球主机交流论坛

标题: 写了一个流量达阈值自动关机的小脚本 [打印本页]

作者: 小便超人    时间: 2024-9-4 15:53
标题: 写了一个流量达阈值自动关机的小脚本
不怎么会写bash脚本,用gpt辅助写的
薅的阿里云国内机,用来做备用frp
有大佬看到问题可以顺便指教一下

脚本地址

https://github.com/csznet/public-script/blob/main/aliyun_traffic.sh

运行

  1. wget https://raw.githubusercontent.com/csznet/public-script/main/aliyun_traffic.sh && chmod 777 aliyun_traffic.sh && sudo bash aliyun_traffic.sh
复制代码


国内运行

  1. wget https://mirror.ghproxy.com/https://raw.githubusercontent.com/csznet/public-script/main/aliyun_traffic.sh && chmod 777 aliyun_traffic.sh && sudo bash aliyun_traffic.sh
复制代码


用的是reinstall脚本dd的debian12做的测试
作者: xiaomu    时间: 2024-9-4 16:31
用的是reinstall脚本dd的debian12做的测试

老板,你的这个有教程吗?
作者: BiuBiu_Ka    时间: 2024-9-4 18:02
给大屌点个赞
作者: 小便超人    时间: 2024-9-4 18:13
xiaomu 发表于 2024-9-4 16:31
用的是reinstall脚本dd的debian12做的测试

老板,你的这个有教程吗?

一键dd脚本
https://github.com/bin456789/reinstall

作者: hcyme    时间: 2024-9-4 18:13
豁豁,感谢大家出手
作者: 七年    时间: 2024-9-4 19:28
    2/0.5/2   不能用?
作者: Vua5nkC    时间: 2024-9-4 19:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小便超人    时间: 2024-9-4 19:57
七年 发表于 2024-9-4 19:28
2/0.5/2   不能用?

要安装crontab,做了定时任务
作者: 小便超人    时间: 2024-9-4 19:58
Vua5nkC 发表于 2024-9-4 19:56
一个意义不明的脚本,让别人放在服务器上执行?

?????不知道你在说什么
作者: jinghongdl    时间: 2024-9-4 20:30
Vua5nkC 发表于 2024-9-4 19:56
一个意义不明的脚本,让别人放在服务器上执行?

开源的,不放心可以复制代码啊
作者: 七年    时间: 2024-9-5 12:37

这样是否是 15.5G??
作者: 小便超人    时间: 2024-9-5 14:55
七年 发表于 2024-9-5 12:37
这样是否是 15.5G??

是的 字数补丁
作者: 七年    时间: 2024-9-5 15:26
小便超人 发表于 2024-9-5 14:55
是的 字数补丁

不过你这个脚本是 连内网流量一起算的  怎么能只算 公网 流量

作者: 小便超人    时间: 2024-9-5 15:29
七年 发表于 2024-9-5 15:26
不过你这个脚本是 连内网流量一起算的  怎么能只算 公网 流量

内网回环是不算的
作者: 七年    时间: 2024-9-5 15:32
小便超人 发表于 2024-9-5 15:29
内网回环是不算的

阿里云官网是安 公网流量的算的  20G    我现在用了0.2G 你的脚本 设置15G  都自己关机   应该是   把内网算进去了
作者: 小便超人    时间: 2024-9-5 16:28
七年 发表于 2024-9-5 15:32
阿里云官网是安 公网流量的算的  20G    我现在用了0.2G 你的脚本 设置15G  都自己关机   应该是   把内 ...

可以拿去给gpt改一下,指定网卡就行
作者: kehan    时间: 2024-9-5 16:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: atXiang    时间: 2024-9-5 16:43
意思,300券可以撸个小鸡了?不用担心房子没了
作者: newnft    时间: 2024-9-5 18:58
有个问题哎:
  1. root@aliyun1c512m:~/ali_plu# ./aliyun_traffic.sh
  2. ./aliyun_traffic.sh: line 60: bc: command not found
  3. In+Out Total This Month:  MB
  4. ------------------------------
  5. */5 * * * * /root/ali_plu/aliyun_traffic.sh
复制代码

作者: 调查员    时间: 2024-9-6 12:36
能不能自己手动指定网卡啊。你这脚本应该是真的把内网算进去了。
作者: 调查员    时间: 2024-9-6 13:15
阿里云免费流量20G
是指流出,还是指流入,还是两者加起来?

作者: 小便超人    时间: 2024-9-6 15:33
newnft 发表于 2024-9-5 18:58
有个问题哎:

安装bc,apt install bc
作者: u78    时间: 2024-9-6 18:10
脚本有问题,流量累加,运行一次会把原来的流量累加一次
作者: 爱吹海绵的泡泡    时间: 2024-9-6 19:00
调查员 发表于 2024-9-6 13:15
阿里云免费流量20G
是指流出,还是指流入,还是两者加起来?

我问了客服是指流出
作者: 调查员    时间: 2024-9-7 08:29
七年 发表于 2024-9-5 15:32
阿里云官网是安 公网流量的算的  20G    我现在用了0.2G 你的脚本 设置15G  都自己关机   应该是   把内 ...

你好,你这个图到底在那看到的啊。我怎么找也找不到。想看看流量也看不了。
作者: 随波逐流    时间: 2024-9-7 08:56
调查员 发表于 2024-9-7 08:29
你好,你这个图到底在那看到的啊。我怎么找也找不到。想看看流量也看不了。 ...

这个脚本不错
作者: 随波逐流    时间: 2024-9-7 09:16
调查员 发表于 2024-9-7 08:29
你好,你这个图到底在那看到的啊。我怎么找也找不到。想看看流量也看不了。 ...


https://cdt.console.aliyun.com/overview
作者: xk7462    时间: 2024-9-9 00:21
试试用vnstat的月度流量统计功能,能取到网卡月度的tx值,还在测试脚本统计到的和阿里云后台的差多少。阿里云统计的应该是CDT的流出流量。

先安装vnstat
apt install vnstat
激活eth0的vnstat统计
vnstat -i eth0
systemctl restart vnstat
systemctl enable vnstat

脚本如下,先保存脚本到某路径下的文件。
#!/bin/bash

# 设置网卡接口名称
INTERFACE="eth0"

# 设置流量上限(以MB为单位,这里是18000MB,即18GB)
LIMIT=18000 # 18GB in MB

# 设置日志文件路径
LOG_FILE="/var/log/traffic_monitor.log"

# 获取当前时间
CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")

# 从vnstat获取当前月度的流出流量(单位为MB)
current_tx=$(vnstat --oneline -i $INTERFACE -m | grep "`date +'%Y-%m'`" | awk -F "|" '{print $2}' | awk '{print $1 $2}')

# 将流出流量转换为MB单位
if [[ $current_tx == *"KiB"* ]]; then
    current_tx=$(echo "$current_tx" | awk '{print int($1 / 1024)}')
elif [[ $current_tx == *"MiB"* ]]; then
    current_tx=$(echo "$current_tx" | awk '{print int($1)}')
elif [[ $current_tx == *"GiB"* ]]; then
    current_tx=$(echo "$current_tx" | awk '{print int($1 * 1024)}')
fi

# 写入日志并检查流量限制
if [ "$current_tx" -ge "$LIMIT" ]; then
    echo "$CURRENT_TIME - Monthly outgoing traffic limit reached: ${current_tx}MB. Shutting down..." >> "$LOG_FILE"
    sudo shutdown -h now
else
    echo "$CURRENT_TIME - Current outgoing traffic this month: ${current_tx}MB, Limit: ${LIMIT}MB" >> "$LOG_FILE"
fi


然后设置crontab定时每5分钟执行一次和每天凌晨3点清空日志文件。
crontab -e
*/5 * * * * /path/to/your/script.sh
0 3 * * * > /var/log/traffic_monitor.log

作者: rw1024    时间: 2024-9-9 00:22
开源的 可以




欢迎光临 全球主机交流论坛 (https://52.ht/) Powered by Discuz! X3.4