Category: 程序设计

BASH 脚本 防止 iptablex 攻击

影响: 大量往外发包, 导致网络瘫痪, 在电脑删除后, 还会被定时感染. 临时快速解决方法: 先抓包分析那台服务器发包严重, 然后查看进程, 如果是IptabLex和IptabLes可以用此脚本, 2秒执行一次. #!/bin/bash while do ps -ef |grep -i ipt pkill -9 /boot/.IptabLex pkill -9 /boot/.IptabLes pkill -9 IptabLe pkill -9 …

通过 Crontab 后台/异步定时发邮件

很多人设计 WEB 应用的时候会需要这么一个给用户 发邮件的功能. 这时候就可以通过 类似 PHPMailer 这种开源的类来即时的发邮件. 这有个不好的地方就是 因为是同步发送方式, 页面在邮件发出去之前 会卡住 而且会造成服务器的负担 可扩展性并不强 (如果一天数以万计的邮件需要发 那么高峰期服务器定不能胜任). 最好的设计方法是后台异步的发邮件, 那么我们首先需要一个SQL表格来存放待发送的邮件: -- phpMyAdmin SQL Dump -- version 4.2.6 -- http://www.phpmyadmin.net -- -- …

BASH 脚本匹配 IP 地址的 简单例子 (正则表达式)

LINUX 真是个非常 强大的操作系统 当然也非常的好玩. LINUX下的默认BASH SHELL本身就是个编程语言, 语言本身就支持正则表达式的匹配. 可以通过 =~ 来进行正则表达式的匹配. 匹配的结果存在了 数组 ${BASH_REMATCH}, ${BASH_REMATCH} 等等. #!/bin/bash ip="192.168.0.1" if {1,2}|1|2|25)\.({1,2}|1|2|25)\.({1,2}|1|2|25)\.({1,2}|1|2|25)$ ]] then echo "匹配IP成功" echo ${BASH_REMATCH} echo ${BASH_REMATCH} echo ${BASH_REMATCH} …

在系统负载高的时候收到邮件(CPU Load Average)

这篇博文和这篇中 介绍了 三种检查系统负载的方法, 还有这篇文章我们知道在系统重启的时候自动发一邮件, 类似的 我们可以在系统负载比较高的时候发邮件作为提醒. */2 * * * * /var/www/checkload.sh > /dev/null 2>&1 上面 通过 CRONTAB 指定了每两分钟通过 脚本 checkload.sh 来检查系统负载 下面是这个脚本的内容. #!/bin/bash load=`echo $(cat /proc/loadavg | awk …

快速清理多个网站的数据库

如果你有多个博客 或者网站 定期清理数据库就瘦瘦身就变得非常有必要. 像我的VPS到现在一共运行了6个网站 其中有4个是 wordpress 博客 那么经常维护网站的任务之一就是清理一些垃圾数据. 先写一个PHP函数 用于执行清理SQL的. set_time_limit(600); mysql_connect("localhost", "user", "password") or die(mysql_error()); function run_query($query) { echo $query; mysql_query($query) or die(mysql_error()); echo " ***OK!*** \n"; } …