简单检查进程的脚本

之前恢复路由,忘了php-fcgi会由于一些原因自动退出,而nginx又不会重启它。

我原来写了一个脚本,在cron中检查,那次恢复,脚本丢失了,只好再写一个

       #!/bin/sh
VAR=`ps | grep $1 | grep -v grep |grep -v "check_process.sh"`

if [ "$VAR" != "" ]; then
	echo "$1 is running $VAR "`date`
	exit 0
fi
echo "$1 died restart"`date`
$2

       

很简单的脚本内容,接受两个参数,第一个参数为检测的进程,第二个参数为启动的方法,如果进程没有运行的话,则会调用第二个参数启动它。例子:

       check_process.sh php-fcgi "/etc/init.d/php5-fastcgi start"
       

放到cron中即可定时检查

openwrt的一些设置

前两天买了一个2T的移动硬盘准备做文件服务器硬盘,不想引发一系列悲剧。

硬盘在路由器上竟然不认,怎么都不可以,直到我安装了似乎是一个usb1.1的驱动,然后终于可以识别了,然后分区,测试,竟然只有200KB的读写速度,看到服务器上似乎有最新的编译,然后就更新下,看是否能更快,既然有网页支持的更新,就从网页更新吧,不想,更新完之后,没有办法进入任何管理了,可以说,只有核心部分启动了,其他任何周边都完蛋了。

然后就开始了恢复模式,openwrt上的safemode完全不管用,看来只有依赖buffalo的恢复了。关键的步骤是下面的:

1.xp系统,注册表

2.路由关机,修改PC网卡地址为192.168.11.2,命令行下输入arp -s 192.168.11.1 02-aa-bb-cc-dd-20(wzr-hp-ag300h是这个)

3.命令行中输入tftp -i 192.168.11.1 put xxxxx.bin(bin为带tftp的固件),不要按回车键

4.关键一步:按回车键,立刻路由加电(根据官方的解释,你只有4秒钟时间,但我很怀疑,我几乎是同时做的),然后大约20秒左右,固件传输完毕,不要断电,等最终更新完毕

5.如果更新成功的话,可以通过telnet上路由了,剩下就是配置了。

剩下的就是配置的事情了,我用的是nginx+php+mysql做服务器的,有几个注意的地方:

php.ini中需要修改mysql的socket的内容

安装zoneinfo-core,不然php使用date函数会报告:’php date() [function.date]: Timezone database is corrupt’

php.ini中默认的doc_root是错误的,清除掉,这个我找了好久

安装ddns可以绑定ip

对于大硬盘的加载,要有耐心,这次我没有做任何特殊的内容,只是将硬盘挂上,然后重启,识别失败的话就关上等会,重新启动路由,我就是这样子的,现在2T的硬盘可以正常使用了,速度虽然没有硬盘本身的usb3.0的速度,但也是usb2.0的速度了。