标签 Linux 下的文章

监测linux负载过高时重启php脚本

#!/bin/sh
TOP_SYS_LOAD_NUM=5
SYS_LOAD_NUM=`uptime | awk '{print $(NF-2)}' | sed 's/,//'`

echo $(date +"%y-%m-%d") `uptime`
if [ `echo "$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM"|bc` -eq 1 ]
then
echo "#0#" $(date +"%y-%m-%d %H:%M:%S") "pkill php-fpm" `ps -ef | grep php-fpm | wc -l`
/etc/init.d/php-fpm stop
sleep 8
pkill php-fpm
sleep 8
for i in 1 2 3
do
if [ `pgrep php-fpm | wc -l` -le 0 ]
then
/etc/init.d/php-fpm start
sleep 30
echo "#1#" $(date +"%y-%m-%d %H:%M:%S") "start php-fpm" `ps -ef | grep php-fpm | wc -l`
fi
done
else
if [ `pgrep php-fpm | wc -l` -le 0 ]
then
/etc/init.d/php-fpm start
sleep 30
echo "#2#" $(date +"%y-%m-%d %H:%M:%S") "start php-fpm" `ps -ef | grep php-fpm | wc -l`
fi
fi

定时执行

*/5 * * * * /root/check-php.sh >>/var/log/check-php.log

Linux安装SourceGuardian loader(SG11组件)

SourceGuardian提供php源码文件的加密,而SourceGuardian loader则是提供运行这些加密php文件的php扩展。
一、访问https://www.sourceguardian.com/loaders/download.php
输入服务器上phpinfo函数的php文件地址,如: https://www.2dan.cc/phpinfo.php
二、在线的检测脚本会根据phpinfo里的信息,提取到php的版本信息和扩展路径,并会提示接下来该怎么做。如:
1、下载什么文件ixed.7.4.lin
2、上传到服务器/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902
3、编辑/usr/local/php/etc/php.ini 增加一行extension=ixed.7.4.lin
4、重启php进程

Linux服务器快速屏蔽指定国家访问

安装 ipset

#Debian/Ubuntu 系统
apt-get -y install ipset

#CentOS 系统
yum -y install ipset

创建规则

#创建一个名为 krip 的规则
ipset -N krip hash:net
#下载国家 IP 段,以韩国为例
wget -P /root http://www.ipdeny.com/ipblocks/data/countries/kr.zone
#将 IP 段添加到 krip 规则中
for i in $(cat /root/kr.zone ); do ipset -A krip $i; done

屏蔽韩国IP访问

iptables -I INPUT -p tcp -m set --match-set krip src -j DROP

只允许韩国IP访问

#放行IP段
iptables -A INPUT -p tcp -m set --match-set krip src -j ACCEPT

#关掉所有端口
iptables -P INPUT DROP

解除屏蔽

#-D 为删除规则
iptables -D INPUT -p tcp -m set --match-set krip src -j DROP

保存规则

#Centos
service iptables save

#Debian/Ubuntu
service netfilter-persistent save


在Linode Linux VPS上dd安装Windows系统

登陆Linode面板,找到已经安装好linux系统并需要DD的VPS
点击Remote Access选项卡下面的Launch Lish Console
1.png
以root登陆,执行下面的命令:

wget --no-check-certificate -qO InstallNET.sh 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh' && bash InstallNET.sh -dd 'https://wget.org.cn/DD/WinSrv2003x86-Chinese-C10G.vhd.gz'

然后,打开Remote Access选项卡下面的Launch Graphical Web Console可以看到进度。

- 阅读剩余部分 -

linux下删除当前目录及子目录下特定文件

find . -name "*.txt" -print -exec rm -rf {} \;

. 表示在当前目录下
-name "*.txt" 查找所有后缀为txt的文件
-print 将查询结果打印到屏幕上
-exec rm -rf 删除命令
-exec后可接其他命令来处理查找到的结果,上式中, {}表示由find命令查找到的结果,如上所示,find所查找到的结果放置到{}位置,-exec 一直到 \; 是关键字,表示find额外命令的开始(-exec)到结束(\;) 这中间的就是find命令的额外命令,上式中就是 rm -rf