清除方式日志收集
#! /bin/sh # The script is used for test log collection. function usage() { echo " Usage: $0 node_type start/stop case_number Example: $0 cp start $0 cp stop embms-9237 Note: please configure DB's information inside the scripts so that can collect DB's log remotely. " } #used for copy db log to current server dbIP="192.168.107.35" dbNodeUser="admin" dbPassword="!QAZ2wsx3edc4rfv" dbLog="/var/postgres/log/postgresql*.csv" #cp application log cpAccessLog="/var/log/access.log" cpEventLog="/var/log/event.log" cpPerformanceLog="/var/log/performance.log" cpMonitorLog="/var/ericsson/log/event.log" #up application log upSessionLog="/var/log/session.log" upTrafficLog="/var/log/traffic.log" upMonitorLog="/var/log/event.log" #vcs log vcsLog="/var/VRTSvcs/log/engine_A.log" #system log messageLog="/var/log/messages" cronLog="/var/log/cron" secureLog="/var/log/secure" CPAppLog=($cpAccessLog $cpEventLog $cpPerformanceLog $vcsLog $messageLog $cronLog $secureLog) UPAppLog=($upSessionLog $upTrafficLog $messageLog $vcsLog $cronLog $secureLog) logList= logDirectory= [ $# -lt 2 ] && usage && exit 1; NODE_TYPE=$1 COMMAND=$2 CASE_NUMBER= case "$NODE_TYPE" in CP| cp| MDFCP| mdfcp) logList=${CPAppLog[@]} ;; UP| up| MDFUP| mdfup) logList=${UPAppLog[@]} ;; *) usage exit 1 ;; esac start_tc() { for i in ${logList[@]} do cat $i >> $i".history."`date +%Y%m%d` > $i done echo "TC started." } createDirectory() { logDirectory=$1"-"`date +%Y%m%d%H%M` [ -d $logDirectory ] && mv $logDirectory $logDirectory".history."`date +%Y%m%d%H%M%S` mkdir $logDirectory if [ $? -ne 0 ]; then echo "create log directory $logDirectory failed, exit!" exit else echo "the logs are stored in ./$logDirectory" fi } copyDBLog() { expect -c " spawn scp -o StrictHostKeyChecking=no $dbNodeUser@$dbIP:$dbLog $logDirectory expect \"assword\" send \"$dbPassword\r\" expect eof " } stop_tc() { createDirectory $CASE_NUMBER for i in ${logList[@]} do cp $i $logDirectory done copyDBLog echo "TC ${CASE_NUMBER} stopped. Log dir: ${logDirectory}" } case "$COMMAND" in "start") start_tc ;; "stop") CASE_NUMBER=$3 stop_tc ;; *) usage exit 2 ;; esac