标准化启动脚本的构建与cronolog的日志分割 发表于 2014-06-17 | 分类于 Shell相关 | | 阅读次数 | 字数统计 328 | 阅读时长 2 [先上标准化启动脚本:] 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596#!/bin/bash# chkconfig: 2345 93 11# description:$INS_APP Server. /etc/rc.d/init.d/functionsJAVA_HOME="/usr/local/jdk"PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$JAVA_HOME/binexport PATHINS_APP="storm"KEY="ice"BASE_DIR="/data/www/apps/$INS_APP"LOG_DIR="/data/log/$INS_APP"LOG_FILE="/data/log/$INS_APP/$INS_APP.log"prog=$INS_APPpid_file=/var/run/$INS_APP.pidfunction app_action(){APP_PORT=$(netstat -tpln |grep $KEY |grep -v grep |awk '{print $4}' |awk -F':' '{print $NF}')APP_PID=$(ps aux |grep $KEY |grep -v grep |awk '{print $2}')}[[ -d /data/log/$INS_APP/ ]] || mkdir -p /data/log/$INS_APP/start() {# JAVA_OPTS="-Xms1536M -Xmx1536M -Xss1M -XX:MaxPermSize=256M -XX:+UseParallelGC" if [[ ! -d $BASE_DIR ]];then echo "$INS_APP Directorg: $BASE_DIR isn't exist,exit!" exit fi cd $BASE_DIR #nohup icebox --Ice.Config=config.icebox >> $LOG_FILE 2>&1 & nohup icebox --Ice.Config=config.icebox 2>&1 | /usr/local/sbin/cronolog $LOG_DIR/$INS_APP.%Y-%m-%d.log & ret=$? if [ $ret -eq 0 ]; then action $"Starting $INS_APP: " /bin/true app_action echo $APP_PID > $pid_file else action $"Starting $INS_APP: " /bin/false fi chmod 755 /etc/init.d/$INS_APP chkconfig --add $INS_APP chkconfig --level 3 $INS_APP on }stop() { app_action if [[ -z $APP_PID ]];then action $"Stopping $INS_APP: " /bin/false exit fi for i in $APP_PID do kill -9 $i done ret=$? if [ $ret -eq 0 ]; then action $"Stopping $INS_APP: " /bin/true rm -f $pid_file else action $"Stopping $INS_APP: " /bin/false fi}restart() { stop sleep 2 start}case "$1" in start) start ;; stop) stop ;; status) status $prog ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1esac [cronolog是[一款日志分割软件,以上范例日志文件将按天分割,每天产生一个新的日志文件。] 1 nohup icebox --Ice.Config=config.icebox 2>&1 | /usr/local/sbin/cronolog $LOG_DIR/$INS_APP.%Y-%m-%d.log & cronolog源码包安装: http://pan.baidu.com/s/1ntiF90X 坚持原创技术分享,您的支持将鼓励我继续创作! 赏 微信打赏