分类目录归档:我的生活

在路由器上写CMCC自动登录脚本2 (shell篇)

继上一篇在路由器上写CMCC自动登录脚本介绍用python脚本实现cmcc自动登录之后,用起来不是很爽!另外发现openwrt也不支持perl脚本,所以想到用shell脚本重新写一遍。方便在没有python环境下,能够直接使用。

今晚琢磨了两个小时,终于成功写出busybox能够支持的登录脚本了。因为登录过程中多次跳转,需要记录JSP的SessionID,所以需要下载安装完整版的wget,才能使用到wget的cookie功能!(busybox自带的wget不支持cookie功能)
继续阅读

MySQL数据库优化的一些笔记

0. 索引很重要

之前列举记录用了下面的语句。state字段为索引。

SELECT * FROM feed_urls WHERE state='ok' AND feed_url<>'' LIMIT N,10

当记录数量很大时,有几万之后,这句SQL就很慢了。主要是因为feed_url没有建立索引。后来的解决方法是,把feed_url为空的,设为一个ok以外的state值,就行了。

1、索引不是万能的

为了计算记录总数,下面的语句会很慢。
继续阅读

通过友情链接进行博客Feed的搜集,你的博客收录了吗

很久没有发一些有技术含量的文章了,最近发博文都有一种应付式的感觉,真对不起自己。感觉有时候是我沉醉于一样东西太长时间了,把我正常的生活节奏都打乱了,而却没有注意到这样子反而效率很低下。适时抽时间出来总结一下是蛮重要的!所以,以后决定每天都抽一个小时出来自我总结,觉得有所感想就写下来,有技术研究的,就给大家分享一下吧!

这两天在写下面的一个东西,用来搜集博客种子(Feed)的RSS或者Atom地址的。没有种子的博客不会被收录进来。因为只有Feed才对我有用!

网站地址:http://feed.readself.com/

继续阅读

jQueryUI写一个调整分类的拖放效果 [附Demo]

最近,想用jQuery做一个网页的树目录结构,并且可以使用鼠标拖动调整选项的位置。我在网上找了一下插件,基本上看了好几款比较著名的,都觉得代码太复杂了或者界面太丑了等各种不符合我的要求。所以还是自己动手丰衣足食,还是坚持简单就是美的代码风格。

继续阅读

写了个Python脚本监控nginx进程

接上一文用iptables让SSH服务对陌生人说不。还是有点担心这个学期内,nginx可能会因为系统各种原因而出现异常退出,导致Web服务暂停。所以,又来了一个方案。

#!/usr/bin/env python
import os, sys, time

while True:
    time.sleep(3)
    try:
        ret = os.popen('ps -C nginx -o pid,cmd').readlines()
        if len(ret) < 2:
            print "nginx process killed, restarting service in 3 seconds."
            time.sleep(3)
            os.system("service nginx restart")
    except:
        print "Error", sys.exc_info()[1]

设置文件可执行属性,加入到/etc/rc.local,总算放心了。
这种方法还可以监控别的进程,我相信应该有现成的监控软件,但是我觉得写个脚本更方便。

用iptables让SSH服务对陌生人说不

今晚老师跟我说服务器的Web挂了,但是FTP可以用。我登录了这个OpenVZ的VPS,发现nginx进程没了。为什么会发生这么神奇的事情呢?

我在/var/log/nginx下翻了日志文件,没有发现任何出错信息。然后想会不会是系统内存超了,被OpenVZ内核KILL了呢?查了一下,果然发现:

uid resource held maxheld barrier limit failcnt
3004536: kmemsize 3626521 4652581 51200000 51200000 0
lockedpages 0 0 2048 2048 0
privvmpages 34041 131231 131200 262200 3
shmpages 1281 1297 128000 128000 0

私有虚拟页面privvmpages的数值超了,有3次失败请求。一个页面4KB,所以这个VPS的内存是512M.

我在这个VPS上只开启了nginx,vsftpd,mysqld,php-cgi,xxfpm等服务,不可能占用那么多内存吧。php的进程数量是用自己写的xxfpm限制死了,只能有3个进程。这些所有的服务一共才占用100多MB内存,怎么可能超了512M呢?
继续阅读