ITPub博客

首页 > Linux操作系统 > Linux操作系统 > down_all_smslogs.sh

down_all_smslogs.sh

原创 Linux操作系统 作者:perfychi 时间:2013-02-23 09:20:15 0 删除 编辑
#!/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/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: download_files.sh
请登录后发表评论 登录
全部评论

注册时间:2012-06-06

  • 博文量
    484
  • 访问量
    2975601