linux shell [ ! -d "$basedir" ],shell脚本BASE_DIR=<%= basedir %>这种写法怎么理解

本帖最后由 sea_tar 于 2016-07-27 17:29 编辑

今天看到别人的脚本里有BASE_DIR=这样的赋值写法,这个basedir是如何取值的呢?请教大神下面是完整脚本

DATE_TIME=`date +%Y%m%d_%H%M%S`

BASE_DIR=

PUPPET_DIR=

WEB_DIR=

BACKUP_FILE=/newwap.$DATE_TIME.tar.gz

WAR_FILE=$PUPPET_DIR/newwap.war

INSTANCES=()

PREFIX=$BASE_DIR/project

ERROR_COUNT_START=0

ROUND=10

LENGTH=${#INSTANCES[@]}

# backup project

backup(){

echo "1) Backup files."

cd $WEB_DIR

tar -czf $BACKUP_FILE *

}

# stop tomcat instances

stop(){

echo "2) Stop tomcat instances."

for i in ${INSTANCES[@]}

do

$PREFIX/$i/tomcat.sh stop &

sleep 5

done

sleep 5

for ((n=1;n<=$ROUND;n++));do

c=0

for i in ${INSTANCES[@]};do

PID=`ps -ef | grep $PREFIX/$i | grep -v grep | awk '{print $2}'`

if [ -z $PID ];then

c=`expr $c + 1`

fi

done

if [ $c -eq $LENGTH ];then

echo "All tomcat instances stop successful."

break

else

if [ $n -eq $ROUND ];then

for i in ${INSTANCES[@]};do

PID=`ps -ef | grep $PREFIX/$i | grep -v grep | awk '{print $2}'`

if [ -n "${PID}" ];then

echo "Tomcat instance ${i}(pid=${PID}) still alive, try to kill."

kill -9 $PID

fi

done

fi

sleep 3

fi

done

}

# redeploy

redeploy(){

echo "3) Deploy new project and clean old files."

rm -rf $WEB_DIR/*

unzip -oq $WAR_FILE -d $WEB_DIR

echo "Deploy new project successful."

for i in ${INSTANCES[@]}

do

rm -rf $PREFIX/$i/work/*

mv $PREFIX/$i/logs/catalina.out $PREFIX/$i/logs/catalina.out.$DATE_TIME

echo "Clean tomcat instance ${i}'s temp files successful."

done

}

# start tomcat instances

start(){

echo "4) Start tomcat instances and check start info."

for i in ${INSTANCES[@]}

do

$PREFIX/$i/tomcat.sh start &

done

sleep 60

for i in ${INSTANCES[@]}

do

if [ `grep "ERROR" $PREFIX/$i/logs/catalina.out | wc -l` != 0 ];then

echo "ERROR: tomcat instance ${i} starts with errors!"

ERROR_COUNT_START=`expr $ERROR_COUNT_START + 1`

else

echo "Start tomcat instance ${i} successful."

fi

done

}

echo "There are 4 steps."

source /home/java/.bash_profile

export LANG=

export JAVA_OPTS="$JAVA_OPTS -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8"

backup

stop

redeploy

start

if [ $ERROR_COUNT_START != 0 ];then

echo "Some tomcats start with errors!"

exit 1

fi

echo "Finish All Steps!"

exit 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> <!-- optional, add some variables https://github.com/nlog/NLog/wiki/Configuration-file#variables --> <variable name="myvar" value="myvalue"/> <!-- See https://github.com/nlog/nlog/wiki/Configuration-file for information on customizing logging rules and outputs. --> <targets> <!-- add your targets here See https://github.com/nlog/NLog/wiki/Targets for possible targets. See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers. --> <!-- Write events to a file with the date in the filename. <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" /> --> <target xsi:type="File" name="f" fileName="logs/${shortdate}.log" archiveFileName="logs/archive.{#}.log" archiveEvery="Day" archiveNumbering="Rolling" maxArchiveFiles="30" concurrentWrites="true" keepFileOpen="false" encoding="utf-8"> <layout xsi:type="CsvLayout" delimiter="auto" withHeader="true" > <column name="time" layout="${longdate:universalTime=false}" /> <column name="threadid" layout="${threadid}"/> <column name="level" layout="${level:upperCase=true}"/> <column name="callsite" layout="${callsite:includeSourcePath=true}" /> <column name="message" layout="${message}" /> <column name="stacktrace" layout="${callsite:includeSourcePath=true}" /> <column name="exception" layout="${exception:format=ToString}"/> </layout> </target> <target xsi:type="File" name="c" layout="${threadid} ${uppercase:${level}} ${message} ${callsite} ${exception:format=tostring}" /> </targets> <rules> <!-- add your logging rules here --> <!-- Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f" <logger name="*" minlevel="Debug" writeTo="f" /> --> <logger name="*" writeTo="f,c" /> </rules> </nlog>NLog这个配置给我怎么加注释说明
最新发布
06-04
在NLog配置文件中添加注释可以使用XML的注释标记`<!-- 注释内容 -->`,例如: ``` <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> <!-- 定义变量 --> <variable name="myvar" value="myvalue"/> <!-- 定义日志输出目标 --> <targets> <!-- 文件日志 --> <target xsi:type="File" name="f" fileName="logs/${shortdate}.log" archiveFileName="logs/archive.{#}.log" archiveEvery="Day" archiveNumbering="Rolling" maxArchiveFiles="30" concurrentWrites="true" keepFileOpen="false" encoding="utf-8"> <layout xsi:type="CsvLayout" delimiter="auto" withHeader="true" > <column name="time" layout="${longdate:universalTime=false}" /> <column name="threadid" layout="${threadid}"/> <column name="level" layout="${level:upperCase=true}"/> <column name="callsite" layout="${callsite:includeSourcePath=true}" /> <column name="message" layout="${message}" /> <column name="stacktrace" layout="${callsite:includeSourcePath=true}" /> <column name="exception" layout="${exception:format=ToString}"/> </layout> </target> <!-- 控制台日志 --> <target xsi:type="File" name="c" layout="${threadid} ${uppercase:${level}} ${message} ${callsite} ${exception:format=tostring}" /> </targets> <!-- 定义日志输出规则 --> <rules> <logger name="*" writeTo="f,c" /> </rules> </nlog> ``` 在需要注释的地方添加注释即可,例如: ``` <!-- 定义变量 --> <variable name="myvar" value="myvalue"/> <!-- 定义日志输出目标 --> <targets> <!-- 文件日志 --> <target xsi:type="File" name="f" fileName="logs/${shortdate}.log" archiveFileName="logs/archive.{#}.log" archiveEvery="Day" archiveNumbering="Rolling" maxArchiveFiles="30" concurrentWrites="true" keepFileOpen="false" encoding="utf-8"> <layout xsi:type="CsvLayout" delimiter="auto" withHeader="true" > <column name="time" layout="${longdate:universalTime=false}" /> <column name="threadid" layout="${threadid}"/> <column name="level" layout="${level:upperCase=true}"/> <column name="callsite" layout="${callsite:includeSourcePath=true}" /> <column name="message" layout="${message}" /> <column name="stacktrace" layout="${callsite:includeSourcePath=true}" /> <column name="exception" layout="${exception:format=ToString}"/> </layout> </target> <!-- 控制台日志 --> <target xsi:type="File" name="c" layout="${threadid} ${uppercase:${level}} ${message} ${callsite} ${exception:format=tostring}" /> </targets> <!-- 定义日志输出规则 --> <rules> <logger name="*" writeTo="f,c" /> </rules> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值