#!/bin/sh
. /home/oracle/.bash_profile
L_DIR_NAME=`dirname $0`
cd ${L_DIR_NAME}
cd ..
case "$#" in
"0")
export L_TELCOM='cm'
;;
"1" )
export L_TELCOM=$1
;;
esac
export L_WORK_DIR=$PWD
export L_BIN_DIR=${L_WORK_DIR}/bin
export L_LOG_DIR=${L_WORK_DIR}/logs
export L_DATA_BASE=/${L_TELCOM}
export L_STATUS_BASE=/logstate/${L_TELCOM}
export R_HOST=192.168.1.74
export R_DATA_BASE=/${L_TELCOM}
export R_STATUS_BASE=/logstate/${L_TELCOM}
export R_SODU="sudo -u djboss"
ISWAITED=0
while [ 1=1 ]; do
LOGFILE=${L_LOG_DIR}/${L_TELCOM}_down_all_smslogs_`date "+%Y%m%d"`.log
echo "****************************************************************">>${LOGFILE}
cd ${L_DATA_BASE}
ISWAITED=0
for STATION in `find ./* -maxdepth 0 -type d|awk -F/ '{print $2}'`; do
echo `date "+%Y-%m-%d %H:%M:%S"` "${STATION} station data file down check start">>${LOGFILE}
#********************************************************#
# 需要的状态目录是否存在,如不存在,则建目录 #
#********************************************************#
if [ ! -e ${L_STATUS_BASE}/${STATION}/upload ]; then
mkdir -p ${L_STATUS_BASE}/${STATION}/upload
fi;
cd ${L_DATA_BASE}/${STATION}/upload
for NODEFILE in `ssh ${R_HOST} "cd ${R_DATA_BASE}/${STATION}/upload;find -name '201*.log' -type f"|awk -F/ '{print $2}'`; do
if [ ${NODEFILE} == "" ]; then
continue
elif [ -e ${L_STATUS_BASE}/${STATION}/upload/${NODEFILE}.up ]; then
echo "${L_DATA_BASE}/${STATION}/upload/${NODEFILE} is downloading now">>${LOGFILE}
elif [ -e ${L_STATUS_BASE}/${STATION}/upload/${NODEFILE} ]; then
echo "${L_DATA_BASE}/${STATION}/upload/${NODEFILE} successed download already">>${LOGFILE}
else
ssh ${R_HOST} find ${R_STATUS_BASE}/${STATION}/import/${NODEFILE}.imported
if [ $? -eq 0 ]; then
echo "${L_DATA_BASE}/${STATION}/upload/${NODEFILE} prepare download">>${LOGFILE}
${L_BIN_DIR}/down_smsfile.sh ${STATION} ${NODEFILE} >${L_LOG_DIR}/${L_TELCOM}_${STATION}_${NODEFILE} 2>&1
ISWAITED=1
else
echo "${L_DATA_BASE}/${STATION}/upload/${NODEFILE} unimported,not upload">>${LOGFILE}
fi
fi
done
echo `date "+%Y-%m-%d %H:%M:%S"` "${STATION} station data file down check end">>${LOGFILE}
done
if [ ${ISWAITED} -eq 0 ]; then
echo "`date "+%Y-%m-%d %H:%M:%S"` all station,all node check successed">>${LOGFILE}
echo "`date "+%Y-%m-%d %H:%M:%S"` current unimported file is importing!,waiting 15m">>${LOGFILE}
sleep 15m
fi;
done
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27042095/viewspace-754625/
,如需转载,请注明出处,否则将追究法律责任。