WEB服務器使用memcached,但是不知道為什么memcached老是掛掉(基本20分鐘~50分鐘左右),導致部分網(wǎng)站頁面在訪問的時候出錯;定義日志后,查看日志也未能發(fā)現(xiàn)什么;初步判定由于之前更新libevent有關系。由于線上服務器,所以先用腳本來彌補下
#!/bin/sh pid=`ps aux|grep -v grep|grep memcached|awk '{print $2}'` memcached=`/usr/local/memcached/bin/memcached -u www ` nginx=`/usr/local/nginx/sbin/nginx -s reload ` if [ -z "$pid"] then echo $memcached echo $nginx fi
上面腳本主要溫故2個知識點,一個是awk、一個是if的條件表達式;當然那些單引號、雙引號、特殊單引號也是煩人的。只是一個基礎腳本,很菜,不過可以實現(xiàn)我要的功能了,首先判斷memcached進程是否存在,如果不存在則啟動memcached和重載nginx。
最后加入到系統(tǒng)任務中,每隔5分鐘判定一次:
*/15 * * * * /root/memcached.sh
完工!
關于if條件表達式,還有更多,可以到網(wǎng)上查找看看,這里就不重復了。