终于找到wp-db-backup不能发送邮件的原因了

我是在openwrt上建立的nginx+mysql的wordpress系统,之前一直没办
法发送备份邮件。而挂载的usb硬盘是已经服役了7年之久了,比较危险。
但一直找不到原因。修改了wp-db-backup的代码,最后发现发送一些小文
件可以,但超过300KB就不行了。

最后只好自己写一个单独的php应用来测试,看原因到底在什么地方。
结果发现内存不够了。。。。。。无语,立刻修改php.ini文件,增加内存,
然后问题就解决了。

顺便提一下,如果使用SMTP的话,需要将wp-db-backup中的IsMail()修
改为IsSMTP()。

wp-db-backup中的发件人默认是错的,这个也可能没有关系,不过我顺
便也修改了下。

简单检查进程的脚本

之前恢复路由,忘了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中即可定时检查

栈缠绕与万能函数

很早之前就知道栈缠绕的原理,很早之前就想要个万能函数,可以调用任意的函数,感觉很酷。在研究模拟java的动态load的时候,曾经做了个类似的,结果要求限制的挺多,最后自己只记得原理,代码早不知飞哪儿了。

前几天突然想,是否通过栈缠绕可以实现?然后做下实验,虽然碰了些疙瘩,但还算顺利,贴出成果:

继续阅读栈缠绕与万能函数

一起做网游吧【8.5】:轻松一下

网游的教程下周估计可以更新。目前正在处理文档和bug修正中。在最近的两周中,我几乎全力以赴在了网页上了,从时间上计算,大概占用了7天以上的时间,因为周末大部分时间要配老婆,所以,服务器的代码其实占用时间不多。

今天终于完成了大约90%的量了,当然,中间有些特性不得不放弃了。所以可以轻松一下。反思下这次的失误和教训,顺便说下将要更新的内容。

未能完成的内容:

1.web管理界面的数据更新,原因在于自己对javascript没有想象中熟悉,对于extjs库,没有时间去理清细节。这直接导致了制作周期比想象中的要长。

2.web管理界面中的事件及输出日志到web页面。由于第一点的原因,这部分未能有时间添加。以后可能作为一个专题来说。

3.web管理界面中的功能。没有想好该如何布局,即使想好了,由于对extjs不熟悉,暂时也没有能力添加。

已经完成的内容:

1.多服务器结构。虽然这个特性是我两周之前临时决定要增加的,但觉得还是提前处理比较好,而且,这个结构和之前计划的不太一样。之前的计划是,某台服务器作为唯一的接入点,将其他功能可以布置到其他的服务器上,其他服务器对于客户端来说,不可看见。这样做的好处是处理比较简单。缺点是接入服务器要有足够容量的连接支持,如果接入点出现故障的话,则没有人能接入了。现在我将这个分开了。在开始阶段,接入点还是只有一个可见,当用户登录之后,出现了服务器列表,每个服务器可能是由不同的服务器组合而成的。在加入服务器之后,用户将在该服务器下找一个当前用户最少的服务器进行重新连接。这样分担开了接入点的压力。当然,这样处理会有引发一些小问题。在代码更新的时候将会做特殊说明。

2.web管理界面的初步进行。虽然该部分我进行了努力的奋斗,虽然该部分进度非常的糟糕,但还是可以看的见点东西。

3.服务器的动态添加和关闭,移除等。监视状态的钩子植入(目前有些bug,可能是我整理代码引起的。)

在完成内容部分,虽然看上去不是很难,但其中的细节处理却比较的麻烦。而多服务器的结构,直接导致了之前数据库结构的重新安排。改动还是比较大的。之前提到的tcp_server,觉的有点满足不了要求,想改,却来不及了。通过调整结构,也总算可以了。

继续阅读一起做网游吧【8.5】:轻松一下

网游教程的代码位置

嗯,该如何解释这次事情呢?

之前的代码一直放在dropbox的共享目录中,今天才看了dropbox中的帮助文件,发现不支持共享目录,而我则是将代码的仓库直接放在共享目录中,开发的时候则是链接到本地目录下。需要上传的时候则将dropbox联网,自动完成了。

但dropbox不支持目录共享,我今天才注意,因为同步某个参考文件的时候由于网络问题,速度超慢,无所事事就看了帮助文档。在国内看来,上dropbox的条件是越来越艰苦了。

于是想看看有没有支持目录共享,类似于dropbox的网盘,最后找到了4shared。关键是各平台支持。唯一令我不满的是,不像dropbox那样,自动上传。因为我可不想每时每刻总挂在那里,而在ubuntu下,挂上这个,gui端不管点开那个文件夹都超慢,弄得我只好用emacs来进行文件夹浏览了。在fedora下稍好,但还是不想列出网盘的目录都要等半天,真希望出个dropbox的方式啊。

废话半天,今天的主角登场:(需要登入)

下次更新的时候,再增加一个仓库的压缩文件,共享目录,浏览可以,但不可以整个目录往下端(我没有找到方法,谁知道的话告诉我声),下载整个目录需要掏钱的。暂时先这样,最近一段时间在和网页大战,放弃的时间太长了,当初学的时候都还在html状态,谁要是对extjs熟悉的话,麻烦教教我,懒的仔细看帮助了。网页目前主要是为了查看各个服务器的状态以及进行管理。下一次的代码服务器将支持客户端的网页下载(目前就只有一个j2me客户端),以及通过网页来查看服务器状态,简单的管理服务器。但我的网页UI的代码能力,目前处在比0稍高的位置。