欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言或关注公众号:烈日下的男人

一个服务器被DDOS自动关机的脚本

linux sky995 2年前 (2022-07-28) 517次浏览 0个评论

本文及资源最后更新时间 2022-07-28 by sky995

原理:每n分钟检测系统负载,若连续两次负载超阈值,写日志后关机

Shell脚本:
保存为load.sh。脚本执行后会生成load.txt,记录上一周期检测到的系统负载值。被D关机前会生成load.log,记录当前负载及关机时间

  1. #Shutdown at high load
  2. #!/bin/bash
  3. #负载阈值。当系统负载一定时间内超过该值两次时,执行相应操作
  4. maxload=10
  5. if [[ ! -e “load.txt” ]]; then
  6.         echo “0” > load.txt
  7. fi
  8. load_prev=$(cat load.txt)
  9. load_now=$(cat /proc/loadavg | awk -F’ ‘ ‘{print $1}’ | awk -F’.’ ‘{print $1}’)
  10. echo “${load_now}” > load.txt
  11. if [[ ${load_prev} -ge ${maxload} ]] && [[ ${load_now} -ge ${maxload} ]]; then
  12.         echo “0” > load.txt
  13.         echo “Current average load: $(cat /proc/loadavg | awk -F’ ‘ ‘{print $1}’). Server shutdown at: $(date “+%Y-%m-%d %H:%M:%S”)” >> load.log
  14.         poweroff
  15. fi

其中16行的关机命令可换成其它操作,如开启5秒盾、关闭网络、Server酱推送信息等

设置定时任务:
输入crontab -e进入定时任务编辑器,添加:(根据实际情况调整,如检测周期、脚本文件存放路径等)

  1. */5 * * * * /bin/bash /root/load.sh

例子:代码存放在/root/load.sh,每5分钟检测一次

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


好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一个服务器被DDOS自动关机的脚本
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址