今天写了两个小脚本,分别用来保证MongoDB Server运行以及MongoDB旋转日志.
keepMongoAlive.sh
#!/bin/sh
MONGOPID=`ps -ef | grep 'mongod' | awk '{print $2}'`
if [ -z "$MONGOPID" ]; then
service mongod start
fi
RotateMongoLogFile.sh
#!/bin/sh
MONGOPID=`ps -ef | grep 'mongod' | awk '{print $2}'`
FREESPACE=`df $1 -k | awk '{print $4}' | awk 'NR==2'`
LIMIT=5368709
if [ ! -z "$MONGOPID" -a $FREESPACE -lt $LIMIT ]; then
kill -SIGUSR1 $MONGOPID
rm -rf $1/mongodb.log.*
fi
MongoDB的旋转日志执行一条命令即可,kill -SIGUSR1 Mongod进程号,执行命令后MongoDB会将之前的日志文件的文件名变为带日期的文件名,现在我们就可以移走或删除这些带日期的日志文件. 参考文档:http://docs.mongodb.org/manual/tutorial/rotate-log-files/