`
chnic
  • 浏览: 227707 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell script I

阅读更多
#!/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 script编程学习笔记

    - **Shell 脚本**: Shellscript,是一种为Shell编写的脚本程序。 ##### 2.2 脚本解释器 - **查看可使用的Shell**: - 可以在 `/etc/shells` 文件下查看可使用的Shell。 - **常用Shell**: - **sh**: 即 Bourne...

    包含了几乎所有 unix shell script编程特性的 unix shell script 完整项目, 基于 IBM AIX,附注释.rar

    一直很喜欢写unix shell script, 因为写那么一点点东西可以有那么多效果,投入小,产出大,爽啊. 在写IBM AIX K Shell script时,感觉不那么友好,主要是有一些格式细节要求比较严格,不太习惯,后来写惯了也就好了,下面的...

    shell script 语言教程

    ### Shell Script 语言教程知识点详解 #### 一、Shell Script 的定义与作用 Shell Script 是一种脚本语言,用于编写可执行的脚本文件。它主要用于自动化任务处理、系统管理和程序开发等领域。Shell Script 之所以...

    Execute shell script on remote host using ssh.sh

    Jenkins构建Execute shell script on remote host using ssh命令;JenkinsSSH执行命令;

    shell script

    ### Shell Script 在 UNIX 系统中的应用与结构 在计算机科学领域中,Shell 脚本(Shell Script)是 UNIX 和类 UNIX 操作系统(如 Linux)中的一种强大的自动化工具。通过 Shell 脚本,用户可以编写一系列命令来执行...

    解决idea would you like to install a shell script formatter?的问题 直接下载 shfmt.zip

    shfmt_v3.1.2_windows_amd64.exe shfmt_v3.1.2_windows_386.exe 解决idea would you like to install a shell script formatter?的问题

    Shell Script教程

    身為 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详解 #### 一、Shell Script简介与特点 Shell Script是一种用于自动化任务处理的脚本语言,广泛应用于Linux及类Unix系统中。通过Shell Script,用户可以编写一系列命令来实现复杂的操作流程,提高...

    shell script语言教程

    ### Shell Script语言教程知识点概述 #### 一、Shell Script简介 **Shell Script**是一种脚本语言,用于控制Unix操作系统(包括Linux)中的各种任务。它主要用于自动化任务、管理文件和目录以及执行系统管理任务。...

    ShellScript

    Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对UNIX的用户与系统管理者而言,编写Shell脚本是必须的工作,它可以让你快速地控制与定制任何UNIX系统的强大功能。有了Shell...

    Execute shell script on remote host using ssh(最新版).txt

    在Jenkins构建springboot项目自动部署的时候,配置远程执行Dockerfile所在服务器的SSH命令,这里把完整的命令贴出来,详细搭建过程见我的博客《基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署》

    shell script程序设计

    ### Shell Script程序设计 #### 基础概念与特点 Shell Script是一种强大的脚本语言,主要用于控制基于Unix的系统(包括Linux)。它允许用户通过编写一系列的命令来自动化任务,这些命令可以是简单的文件操作、打印...

    利用LINUX SHELL Script实现数据库系统管理.pdf

    "利用LINUX SHELL Script实现数据库系统管理" 在本篇文章中,我们将讨论如何使用LINUX SHELL Script来实现数据库系统管理。数据库是许多应用业务系统的核心设施,因此对数据库的测试、监控和维护非常重要。本文将...

    shell_script.zip

    9. **持续集成/持续部署(CI/CD)**:在现代软件开发流程中,shell脚本常用于CI/CD工具(如Jenkins、GitLab CI/CD),自动执行构建、测试和部署任务。 总的来说,"shell_script.zip"提供的这些脚本是实现自动化任务的...

    shell_script.tar.gz

    shell_script.tar.gz

Global site tag (gtag.js) - Google Analytics