标签 脚本 下的文章

监测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

网络和IO测试 bench 一键脚本

代码放在 Github

https://raw.githubusercontent.com/teddysun/across/master/bench.sh

使用时直接执行下面的命令即可

wget -qO- bench.sh | bash

注:bench.sh 其实是一个域名,这个域名 301 到真正的脚本,脚本名就叫 bench.sh

ffmpeg视频文件批量转换脚本

最近在制作mp4文件时,前后使用了魔影工厂、狸窝、格式工厂进行转码,但是发现转换过的视频经常有黑屏的现象,文件体积也比较大,自由度也比较低。最终发现了 ffmpeg 很好很强大,不但处理速度快,可自定义参数,处理过的视频体积小的很多,而且还很清晰。唯一美中不足的是这个软件的转换需要在命令行模式下完成。一个一个的复制、粘贴到cmd窗口,文件多了就吃不消了,这时人的惰性发挥了作用,于是就有了批量转换脚本,简单的一句话,几百个视频文件就哗啦哗啦的出来了。以 flv 到 mp4 文件为例:

for %%a in (*.flv) do ffmpeg.exe -threads 4 -i %%~na.flv -ab 32 -ar 22050 -vcodec libx264 -qscale 6 -r 25 -s 720x480 -flags +loop -crf 24 -bt 256k -vol 200 -keyint_min 6 -vf yadif %%~na.mp4

注意:文件名中如果有空格,需要加引号

常用参数:

-threads 指定用于编码的线程
-i 指定输入文件
-ab 设置音频码率
-ar 设置音频采样率
-vcodec 视频流编码方式
-qscale 使用固定的视频量化标度(VBR)
-r 视频流帧数(一般说来PAL制式通常用25,NTSC制式通常用29)
-s 视频分辨率
-flags 环路滤波器 (-loop禁用 +loop 启用)
-crf 恒定质量模式(也称为恒定ratefactor)
-bt 设置比特率容许的误差
-keyint_min 设置关键帧的间隔
-vol 设定音量
-vf 指定滤镜 (等同 -filter:v)