全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1141|回复: 1

求个自动关机脚本

[复制链接]
发表于 2023-5-23 17:38:06 | 显示全部楼层 |阅读模式
求个脚本,阿里腾讯aws通用的,流量达标自动关机的,github里的对我小白来说太复杂,求个大佬
发表于 2023-5-23 17:41:47 | 显示全部楼层
本帖最后由 ulggf847 于 2023-5-23 17:43 编辑

我:linux写一个bash脚本,使用cron每分钟执行一次,如果我的某块网卡的出站流量大于100G则执行关机命令。
chatgpt:
以下是一个示例的Bash脚本,可以使用cron每分钟执行一次,并检查指定网卡的出站流量是否大于100G。如果流量超过阈值,则执行关机命令。

首先,你需要安装bc命令行工具,它用于处理浮点数运算。在大多数Linux发行版中,你可以使用包管理器安装它(如apt、yum等)。

创建一个名为check_network_usage.sh的脚本文件,并将以下内容复制到文件中:


  1. #!/bin/bash

  2. # 指定要监视的网卡名称
  3. INTERFACE="eth0"

  4. # 获取指定网卡的出站流量(以字节为单位)
  5. OUTGOING=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)

  6. # 将出站流量转换为GB
  7. OUTGOING_GB=$(echo "scale=2; $OUTGOING / 1024 / 1024 / 1024" | bc)

  8. # 设置阈值(以GB为单位)
  9. THRESHOLD=100

  10. # 检查出站流量是否超过阈值
  11. if (( $(echo "$OUTGOING_GB > $THRESHOLD" | bc -l) )); then
  12.     echo "出站流量超过 $THRESHOLD GB!执行关机命令..."
  13.     # 在这里执行关机命令,例如:
  14.     # shutdown -h now
  15. else
  16.     echo "出站流量未超过 $THRESHOLD GB。"
  17. fi
复制代码

保存文件后,运行以下命令添加执行权限:


  1. chmod +x check_network_usage.sh
复制代码

接下来,使用cron配置每分钟执行脚本。运行以下命令编辑cron表:


  1. crontab -e
复制代码

在打开的文件中,添加以下行:


  1. * * * * * /path/to/check_network_usage.sh >> /tmp/network_usage.log 2>&1
复制代码

确保将/path/to/check_network_usage.sh替换为实际脚本文件的路径。这将每分钟执行脚本,并将输出重定向到/tmp/network_usage.log文件中(可选)。

保存并关闭文件。现在,cron将每分钟运行脚本,并根据出站流量是否超过阈值执行相应的操作。

请注意,这是一个简单的示例脚本,只监视一个特定的网卡。如果你的系统中有多个网卡,你可能需要根据自己的需求进行适当的修改。此外,确保使用合适的关机命令,并小心使用关机操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-4 09:13 , Processed in 0.079283 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表