立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 34|回复: 2

【教程】分享一个服务器被DDOS自动关机的脚本

[复制链接]

【教程】分享一个服务器被DDOS自动关机的脚本

[复制链接]

12

主题

32

回帖

130

积分

注册会员

积分
130
939163156

12

主题

32

回帖

130

积分

注册会员

积分
130
2021-7-27 11:55:41 | 显示全部楼层 |阅读模式
原理:每n分钟检测系统负载,若连续两次负载超阈值,写日志后关机

Shell脚本:保存为load.sh
[ol]
  • #Shutdown at high load
  • #!/bin/bash
  • #负载阈值。当系统负载一定时间内超过该值两次时,执行相应操作
  • maxload=10
  • if [[ ! -e "load.txt" ]]; then
  •         echo "0" > load.txt
  • fi
  • load_prev=$(cat load.txt)
  • load_now=$(cat /proc/loadavg | awk -F' ' '{print $1}' | awk -F'.' '{print $1}')
  • echo "${load_now}" > load.txt
  • if [[ ${load_prev} -ge ${maxload} ]] && [[ ${load_now} -ge ${maxload} ]]; then
  •         echo "0" > load.txt
  •         echo "Current average load: $(cat /proc/loadavg | awk -F' ' '{print $1}'). Server shutdown at: $(date "+%Y-%m-%d %H:%M:%S")" >> load.log
  •         poweroff
  • fi
  • [/ol]复制代码

    设置定时任务:
    输入crontab -e进入定时任务编辑器,添加:(根据实际情况调整,如检测周期、脚本文件存放路径等)
    [ol]
  • */5 * * * * /bin/bash /root/load.sh[/ol]复制代码
    代码存放在/root/load.sh,每5分钟检测一次


    PS.代码很简单,没啥技术力。实用为主,大佬轻喷~
  • 回复

    使用道具 举报

    72

    主题

    509

    回帖

    2016

    积分

    金牌会员

    积分
    2016
    drivefuse

    72

    主题

    509

    回帖

    2016

    积分

    金牌会员

    积分
    2016
    2021-7-27 11:57:28 | 显示全部楼层
    不错,支持一下。
    回复

    使用道具 举报

    1

    主题

    315

    回帖

    989

    积分

    高级会员

    积分
    989
    省港澳白嫖王

    1

    主题

    315

    回帖

    989

    积分

    高级会员

    积分
    989
    2021-7-27 12:00:18 | 显示全部楼层


    这和被打有啥区别。关机udp也过得来,一样黑洞
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-12-19 10:55 , Processed in 0.015928 second(s), 2 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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