https://www.gravatar.com/avatar/5f48da38e786436afece6f2e46196202?s=240&d=mp

Linux Shell

博客迁移到Blogger

很早就知道Blogger这个系统,但是由于天气原因,国内一直无法访问,再者也一直折腾GAE、B3log、OpenShift,没有尝试 最近一段时间B3log在OpenShift上面越发不稳定了, 当时有点想弄成wp放在vps上面,又想到vps对我来说只是一个玩具,说不定哪天就over了,无意间又想到了Blogger,在网上找到 空山新语 的博客关于Blogger主题的文章,问题都解决了。 下面说说迁移步骤: 1、火车头采集原博客的文章, 2、发布到临时的wp博客系统, 3、将wp的文章导成xml文件,并转换成blogger可用格式,最后再导入Blogger。

不完整的2013,残缺的我

引言

春节马上都过完了,突然发现过去的这一年居然没有为自己留下太多东西;趁现在还能回忆,把它写下来。

工作

工作还是那个样子,不好也不坏,按我舅的话来说“你挣一个月的,还当不到我一单。”不得不承认,他说的对,想想自己貌似一直是在混日子,偶尔立个志啥的,也慢慢被时间冲淡……

OpenShift宕机自动重启脚本

小博是运行在OpenShift云平台上面的,偶尔会遇到宕机的情况! 最近在复习shell,顺手写个shell脚本监测网站运行情况。

#!/bin/bash  
#配置你的Openshift ssh用户名  
sshid=52c21fde5973caed4d0003c0  
#脚本运行部分  
curl -I www.ansen.org 2> /dev/null | head -1 | grep -q 200  
s=$?  
let t=`date +"%M"`%10  
if [ $t -eq 0 ];  
then  
  if [ $s != 0 ];  
  then  
      /usr/bin/gear stop 2>&1 /dev/null  
      /usr/bin/gear start 2>&1 /dev/null  
      echo "`date +"%Y-%m-%d %I:%M:%S"` restarted" > /var/lib/$sshid/app-root/data/web_error.log  
  fi  
else  
    echo "`date +"%Y-%m-%d %I:%M:%S"` is ok" > /var/lib/openshift/$sshid/app-root/data/web_run.log  
fi

链接到~/app-root/repo/.openshift/cron/minutely里面,每10分钟检测一次,如果网站宕机了,自动重启app 感谢@vmx的解答
关于gear命令,请查看
https://github.com/openshift/origin-server/blob/master/node/misc/bin/rhcsh#L106-L128

Shell公共函数:/etc/init.d/functions详解

在学习Shell的时候看到很多脚本都会有. /etc/init.d/functions 这一句,在网上查询了此函数的作用,故收藏在博客中

functions这个脚本是给/etc/init.d里边的文件使用的。提供了一些基础的功能,看看里边究竟有些什么。首先会设置umask,path,还有语言环境,然后会设置success,failure,warning,normal几种情况下的字体颜色。下面再看看提供的重要方法:
checkpid:检查是否已存在pid,如果有一个存在,返回0(通过查看/proc目录)
daemon:启动某个服务。/etc/init.d目录部分脚本的start使用到这个
killproc:杀死某个进程。/etc/init.d目录部分脚本的stop使用到这个
pidfileofproc:寻找某个进程的pid
pidofproc:类似上面的,只是还查找了pidof命令
status:返回一个服务的状态
echo_success,echo_failure,echo_passed,echo_warning分别输出各类信息
success,failure,passed,warning分别记录日志并调用相应的方法
action:打印某个信息并执行给定的命令,它会根据命令执行的结果来调用 success,failure方法
strstr:判断$1是否含有$2
confirm:显示 “Start service $1 (Y)es/(N)o/(C)ontinue? [Y]“的提示信息,并返回选择结果
详细分析: