#!/bin/sh
HOME=/opt/sonicMQ/transit
SCRIPTS=$HOME/bin
HLD_DIR=$HOME/holding
LOGDIR=$HOME/log
LOGFILE=transit.log
LOGOUTPUT=$LOGDIR/$LOGFILE
LOGSCRIPT=$SCRIPTS/Logger
LOGLEVEL=DEBUG
DIFF_TIME_TO_CHECK=1
DIFF_TIME_TO_DELETE=10
FILES="*.[DdXx][AaMm][TtLl]"
EMAIL=xxxxx
#EMAIL=xxxx
DESCRIPTION="discription"
CONTENT=""
SUBJECT="File Not Processed Over Pre-determined time"
JAVA_BIN=/app/bea/jdk131/jre/bin
cd $HLD_DIR
touch ../bin/FileStatusTEMP.log
while read delFile
do
fileName=`echo $delFile | awk '{print $2}'`
emailTime=`echo $delFile | awk '{print $1}'`
delCurTime=`$JAVA_BIN/java -classpath %classpath%:/opt/sonicMQ/transit/bin/:.: com.xx.xxx.GetDate`
delDiffTime=`expr $delCurTime - $emailTime`
if [ $delDiffTime -ge $DIFF_TIME_TO_DELETE ]; then
echo "delete File: "$fileName
rm -f $fileName
else
echo "restore undelete File to a temp file: "$delFile
echo $delFile >> ../bin/FileStatusTEMP.log
fi
done < ../bin/FileStatus.log
echo "overwrite the FileStatus.log"
cat ../bin/FileStatusTEMP.log > ../bin/FileStatus.log
echo "remove the temp file"
rm -f ../bin/FileStatusTEMP.log
FLAG=1
echo "add the previous content to the email content"
while read eachLine
do
CONTENT=${CONTENT}"\n$eachLine"
done < ../bin/FileStatus.log
for nonDatFile in `ll .| grep -v '^d' | awk '{print $9}' | grep -v '^$' | grep '\.[Dd][Aa][Tt]$' 2>/dev/null`
do
if grep $nonDatFile ../bin/FileStatus.log >/dev/null 2>&1
then
echo "continue: "$nonDatFile
continue
fi
CurTime=`$JAVA_BIN/java -classpath %classpath%:/opt/sonicMQ/transit/bin/:.: com.xx.xxx.GetDate`
FileTime=`$JAVA_BIN/java -classpath %classpath%:/opt/sonicMQ/transit/bin/: com.xx.xxx.GetDate $HLD_DIR/$nonDatFile`
DiffTime=`expr $CurTime - $FileTime`
mainline=`head -1 $nonDatFile`
isUNICODE=`sed -n "/FH/p" $nonDatFile | cut -c1,2 | tail -1`
if [ $isUNICODE != "FH" ]; then
echo "here"
mainline=`sed -n "/FH/p" $nonDatFile | cut -c3- | tail -1`
fi
countryCode=`echo "$mainline" | cut -c65,66`
echo "countryCode:"$countryCode
version=`echo "$mainline" | cut -c3-8`
echo "version:"$version
if [ $version -eq 000110 ]; then
COMPANYEMAIL=`echo "$mainline" | cut -c209-269`
elif [ $version -eq 000121 ]; then
COMPANYEMAIL=`echo "$mainline" | cut -c209-269`
else
COMPANYEMAIL=`echo "$mainline" | cut -c219-279`
fi
echo "COMPANYEMAIL:"$COMPANYEMAIL
if [ $DiffTime -ge $DIFF_TIME_TO_CHECK ]; then
echo "com1"
mydate=`date`
CONTENT=${CONTENT}"\n$nonDatFile\t""$countryCode\t""$mydate"
echo $CurTime" "$nonDatFile >> ../bin/FileStatus.log
FLAG=0;
fi
done
if [ $FLAG -eq '0' ]; then
echo "send email..."
content="To: "$EMAIL"\nBcc: "$COMPANYEMAIL"\nSubject: "$SUBJECT"\n\n"$CONTENT" \n"$DESCRIPTION;
echo $content | sendmail -t
fi
分享到:
相关推荐
- **Shell 脚本**: Shellscript,是一种为Shell编写的脚本程序。 ##### 2.2 脚本解释器 - **查看可使用的Shell**: - 可以在 `/etc/shells` 文件下查看可使用的Shell。 - **常用Shell**: - **sh**: 即 Bourne...
一直很喜欢写unix shell script, 因为写那么一点点东西可以有那么多效果,投入小,产出大,爽啊. 在写IBM AIX K Shell script时,感觉不那么友好,主要是有一些格式细节要求比较严格,不太习惯,后来写惯了也就好了,下面的...
### Shell Script 语言教程知识点详解 #### 一、Shell Script 的定义与作用 Shell Script 是一种脚本语言,用于编写可执行的脚本文件。它主要用于自动化任务处理、系统管理和程序开发等领域。Shell Script 之所以...
Jenkins构建Execute shell script on remote host using ssh命令;JenkinsSSH执行命令;
### Shell Script 在 UNIX 系统中的应用与结构 在计算机科学领域中,Shell 脚本(Shell Script)是 UNIX 和类 UNIX 操作系统(如 Linux)中的一种强大的自动化工具。通过 Shell 脚本,用户可以编写一系列命令来执行...
shfmt_v3.1.2_windows_amd64.exe shfmt_v3.1.2_windows_386.exe 解决idea would you like to install a shell script formatter?的问题
身為 UNIX 系統管理者除了要熟悉 UNIX 指令外,我們最好學會幾種 scripts 語言,例如 shell script 或 perl。學會 script 語言後,我們就可以將日常的系統管理工作寫成一支執行檔,如此一來,在管理系統時就可以更加...
shell script 交互语法shell script 交互语法shell script 交互语法shell script 交互语法shell script 交互语法shell script 交互语法shell script 交互语法shell script 交互语法
### Shell Script详解 #### 一、Shell Script简介与特点 Shell Script是一种用于自动化任务处理的脚本语言,广泛应用于Linux及类Unix系统中。通过Shell Script,用户可以编写一系列命令来实现复杂的操作流程,提高...
### Shell Script语言教程知识点概述 #### 一、Shell Script简介 **Shell Script**是一种脚本语言,用于控制Unix操作系统(包括Linux)中的各种任务。它主要用于自动化任务、管理文件和目录以及执行系统管理任务。...
Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对UNIX的用户与系统管理者而言,编写Shell脚本是必须的工作,它可以让你快速地控制与定制任何UNIX系统的强大功能。有了Shell...
在Jenkins构建springboot项目自动部署的时候,配置远程执行Dockerfile所在服务器的SSH命令,这里把完整的命令贴出来,详细搭建过程见我的博客《基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署》
### Shell Script程序设计 #### 基础概念与特点 Shell Script是一种强大的脚本语言,主要用于控制基于Unix的系统(包括Linux)。它允许用户通过编写一系列的命令来自动化任务,这些命令可以是简单的文件操作、打印...
"利用LINUX SHELL Script实现数据库系统管理" 在本篇文章中,我们将讨论如何使用LINUX SHELL Script来实现数据库系统管理。数据库是许多应用业务系统的核心设施,因此对数据库的测试、监控和维护非常重要。本文将...
9. **持续集成/持续部署(CI/CD)**:在现代软件开发流程中,shell脚本常用于CI/CD工具(如Jenkins、GitLab CI/CD),自动执行构建、测试和部署任务。 总的来说,"shell_script.zip"提供的这些脚本是实现自动化任务的...
shell_script.tar.gz