求个自动关机脚本

查看 52|回复 1
作者:suibianlooklook   
求个脚本,阿里腾讯aws通用的,流量达标自动关机的,github里的对我小白来说太复杂,求个大佬

脚本, 自动关机, 大佬

ulggf847   
   
我:linux写一个bash脚本,使用cron每分钟执行一次,如果我的某块网卡的出站流量大于100G则执行关机命令。
chatgpt:
以下是一个示例的Bash脚本,可以使用cron每分钟执行一次,并检查指定网卡的出站流量是否大于100G。如果流量超过阈值,则执行关机命令。
首先,你需要安装bc命令行工具,它用于处理浮点数运算。在大多数Linux发行版中,你可以使用包管理器安装它(如apt、yum等)。
创建一个名为check_network_usage.sh的脚本文件,并将以下内容复制到文件中:
[ol]#!/bin/bash
# 指定要监视的网卡名称
INTERFACE="eth0"
# 获取指定网卡的出站流量(以字节为单位)
OUTGOING=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
# 将出站流量转换为GB
OUTGOING_GB=$(echo "scale=2; $OUTGOING / 1024 / 1024 / 1024" | bc)
# 设置阈值(以GB为单位)
THRESHOLD=100
# 检查出站流量是否超过阈值
if (( $(echo "$OUTGOING_GB > $THRESHOLD" | bc -l) )); then
    echo "出站流量超过 $THRESHOLD GB!执行关机命令..."
    # 在这里执行关机命令,例如:
    # shutdown -h now
else
    echo "出站流量未超过 $THRESHOLD GB。"
fi[/ol]复制代码
保存文件后,运行以下命令添加执行权限:
[ol]chmod +x check_network_usage.sh[/ol]复制代码
接下来,使用cron配置每分钟执行脚本。运行以下命令编辑cron表:
[ol]crontab -e[/ol]复制代码
在打开的文件中,添加以下行:
[ol]* * * * * /path/to/check_network_usage.sh >> /tmp/network_usage.log 2>&1[/ol]复制代码
确保将/path/to/check_network_usage.sh替换为实际脚本文件的路径。这将每分钟执行脚本,并将输出重定向到/tmp/network_usage.log文件中(可选)。
保存并关闭文件。现在,cron将每分钟运行脚本,并根据出站流量是否超过阈值执行相应的操作。
请注意,这是一个简单的示例脚本,只监视一个特定的网卡。如果你的系统中有多个网卡,你可能需要根据自己的需求进行适当的修改。此外,确保使用合适的关机命令,并小心使用关机操作。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部