写了个 shell 脚本笑不活了 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
angeni

写了个 shell 脚本笑不活了

  •  
  •   angeni Jul 4, 2024 3669 views
    This topic created in 678 days ago, the information mentioned may be changed or developed.

    之前不是发了个帖子想低价嫖阿里的 5 年 200G 免费流量看外面的世界嘛,还询问怎么防止盗刷流量

    https://v2ex.com/t/1053353

    然后我自己糊了一个,因为是测测试脚本流量上限不高只有 150G 并且是上下行相加的。

    我怕被刷 crontab 设置的比较急进 1 分钟

    今天绝了开机就关开机就关,手速跟不上了。。。

    有什么好方法能让我上机一手不我去改改脚本

    emmm

    #!/bin/bash # 设置网卡名称 INTERFACE="eth0" # 设置流量限制(单位:GB ) LIMIT=150 # 检查 vnstat 和 jq 是否已安装 if ! command -v vnstat &> /dev/null; then echo "vnstat 未安装,请安装后重试。" exit 1 fi if ! command -v jq &> /dev/null; then echo "jq 未安装,请安装后重试。" exit 1 fi # 检查 bc 是否已安装 if ! command -v bc &> /dev/null; then echo "bc 未安装,请安装后重试。" exit 1 fi # 获取当前流量(单位:KB ) VNSTAT_JSON=$(vnstat -i $INTERFACE --json) echo "vnstat JSON 输出: $VNSTAT_JSON" # 使用 jq 解析 JSON 数据获取接收和发送的流量(单位:KB ) RX=$(echo $VNSTAT_JSON | jq -r '.interfaces[0].traffic.total.rx') TX=$(echo $VNSTAT_JSON | jq -r '.interfaces[0].traffic.total.tx') # 输出解析结果 echo "接收流量 (RX): $RX KB" echo "发送流量 (TX): $TX KB" # 检查 RX 和 TX 是否为有效的数字 if ! [[ $RX =~ ^[0-9]+$ ]] || ! [[ $TX =~ ^[0-9]+$ ]]; then echo "RX 或 TX 不是有效的数字。" exit 1 fi # 计算总流量(单位:GB ) TOTAL=$(echo "scale=2; ($RX + $TX) / 1024 / 1024 / 1024" | bc) # 输出当前总流量 echo "当前流量:$TOTAL GB" # 检查是否超过流量限制 if (( $(echo "$TOTAL >= $LIMIT" | bc -l) )); then echo "流量限制已超出,正在禁用网络接口。" sudo shutdown now else echo "当前流量未超出限制。" fi 
    #!/bin/bash # 停止 vnStat 服务 sudo systemctl stop vnstat # 如果使用 systemd 管理服务 # 删除 vnStat 数据库文件(根据需要修改网络接口名称) sudo rm -f /var/lib/vnstat/* # 删除所有 vnstat 数据库文件 # 重新启动 vnStat 服务 sudo systemctl start vnstat # 如果使用 systemd 管理服务 echo "vnStat 流量统计数据已重置。" 
    # 每 5 分钟检查一次流量 */5 * * * * /root/check_traffic.sh # 每月 1 号重置网络和流量统计 0 0 1 * * /root/reset_network.sh 
    17 replies    2024-07-05 11:32:41 +08:00
    NessajCN
        1
    NessajCN  
       Jul 4, 2024
    额,你禁用网络接口就禁用网络接口,shutdown 干啥...
    angeni
        2
    angeni  
    OP
       Jul 4, 2024
    @NessajCN 一开始是禁用的,后面想直接关机实在点。。。
    slowman
        3
    slowman  
       Jul 4, 2024
    维护模式
    NessajCN
        4
    NessajCN  
       Jul 4, 2024   1
    看你脚本里能用 sudo 那大概设置的无密码模式或者直接能登 root 咯?
    那可以试试 ssh 的时候带着命令,譬如 ssh root@ip sudo rm /etc/cron.d/xxx
    然后开了机之后一直连
    angeni
        5
    angeni  
    OP
       Jul 4, 2024
    @NessajCN 还可以这样,学习了~
        6
    ruidoBlanco  
       Jul 4, 2024
    「一操作猛如虎,一看出二百五」
    mongoose
        7
    mongoose  
       Jul 4, 2024
    阿里云这个学生认证和实名认证需要是一个人吗?
    cocong
        8
    cocong  
       Jul 4, 2024
    直接断网不就不会超流量也就不会关机了。
    GoRoad
        9
    GoRoad  
       Jul 4, 2024
    hhhhh
    k1rin
        10
    k1rin  
       Jul 4, 2024
    差点直接用了,幸好当时嫌麻烦没弄
    mikeguan
        11
    mikeguan  
       Jul 4, 2024 via Android   1
    新开个机器,磁盘挂过去,怎么弄都行
    或者 vnc/串口连接修改下脚本
    mingtdlb
        12
    mingtdlb  
       Jul 5, 2024
    @mongoose 我觉得阿里不至于那么弱智,不是同一个人会给你过。
    angeni
        13
    angeni  
    OP
       Jul 5, 2024
    @mongoose 肯定同一人呀
    guanzhangzhang
        15
    guanzhangzhang  
       Jul 5, 2024
    sshpass xxxx ssh <ip> systemctl stop crond
    guanzhangzhang
        16
    guanzhangzhang  
       Jul 5, 2024
    @guanzhangzhang sshpass xxxx ssh <ip> systemctl disable --now crond
    siteshen
        17
    siteshen  
       Jul 5, 2024
    #4 @NessajCN 可以稍改进一下:

    ssh root@ip sudo mv /root/check_traffic.sh /root/check_traffic.sh.disabled
    About     Help     Advertise     Blog     API     FAQ     Solana     1063 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 61ms UTC 22:50 PVG 06:50 LAX 15:50 JFK 18:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86