#!/bin/sh
#The path of shell and binary files
SHELL_PATH=/home/pcl/bin
#The path of oracle
ORACLE_HOME=/oracle/app/product/10g
#The path of WebSphere
#WEBSPHERE_HOME=/was/profiles/
WEBSPHERE_HOME=/was/cxgz/cxgz
#The user name of database used for query
DB_USERNAME=oracle
#The base location of oracle data for store backup files
DB_BAK_BASEPATH=/oraback/cxgzdb/
display_menu()
{
#Clear the screen
clear
#Show menu
echo "*========================================================================*"
echo "* *"
echo "* ######储蓄国债系统日常系统维护 *"
echo "* *"
echo "* 主机名:`hostname`\c"
hostname_len=`hostname|wc -c`
while [ $hostname_len -lt 53 ]
do
echo " \c"
hostname_len=`expr $hostname_len + 1`
done
echo "`date +%Y/%m/%d` *"
echo "*------------------------------------------------------------------------*"
echo "* 1. 启动储蓄国债数据库 *"
echo "* 2. 停止储蓄国债数据库 *"
echo "* 3. 启动国债管理 WebSphere *"
echo "* 4. 停止国债管理 WebSphere *"
echo "* 5. 启动国债前台 WebSphere *"
echo "* 6. 停止国债前台 WebSphere *"
echo "* 7. 启动国债MCIP应用 *"
echo "* 8. 停止国债MCIP应用 *"
echo "* 9. 储蓄国债数据库全备份 *"
echo "* 10. 备份数据全备份到磁带机 *"
echo "* 0. 退出 *"
echo "**************************************************************************"
}
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty raw
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
while :
do
display_menu
while :
do
echo "请选择本次操作:\c"
read CHOISE
case $CHOISE in
1|2|3|4|5|6|7|8|9|10|0)
break
;;
*)
echo "无效的选项,请重新选择"
;;
esac
done;
case $CHOISE in
1)
echo "确认要启动储蓄国债数据库吗?[y|n]\c"
read CHOISE
case $CHOISE in
y|Y)
echo "开始启动储蓄国债数据库..."
proc=`ps -ef|grep ora_|grep cxgzdb|grep -v grep|wc -l`
if [ $proc -gt 0 ];
then
echo "储蓄国债数据库已启动"
else
su - oracle -c "export ORACLE_SID=cxgzdb;startdb.sh"
proc=`ps -ef|grep ora_|grep cxgzdb|grep -v grep|wc -l`
if [ $proc -lt 1 ];
then
echo "储蓄国债数据库启动失败"
fi
fi
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
2)
echo "确认要停止储蓄国债数据库吗?[y|n]\c"
read CHOISE;
case $CHOISE in
y|Y)
echo "开始停止储蓄国债数据库..."
proc=`ps -ef|grep ora_|grep cxgzdb|grep -v grep|wc -l`
if [ $proc -lt 1 ]
then
echo "储蓄国债数据库未启动"
else
su - oracle -c "export ORACLE_SID=cxgzdb;stopdb.sh"
proc=`ps -ef|grep ora_|grep cxgzdb|grep -v grep|wc -l`
if [ $proc -gt 0 ]
then
echo "储蓄国债数据库停止失败"
fi
fi
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
3)
echo "确认要启动国债管理 WebSphere吗?[y|n]\c"
read CHOISE
case $CHOISE in
y|Y)
echo "开始启动国债管理 WebSphere"
proc=`ps -ef|grep java|grep savings|grep -v grep|wc -l`
if [ $proc -gt 0 ];
then
echo "国债管理 WebSphere已启动"
else
$WEBSPHERE_HOME/savings/bin/startServer.sh server1
proc=`ps -ef|grep java|grep savings|grep -v grep|wc -l`
if [ $proc -lt 1 ];
then
echo "国债管理 WebSphere启动失败"
fi
fi
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
4)
echo "确认要停止国债管理 Websphere吗?[y|n]\c"
read CHOISE;
case $CHOISE in
y|Y)
echo "开始停止国债管理 Websphere..."
proc=`ps -ef|grep java|grep savings|grep -v grep|wc -l`
if [ $proc -lt 1 ]
then
echo "国债管理 Websphere未启动"
else
$WEBSPHERE_HOME/savings/bin/stopServer.sh server1
sleep 5
proc=`ps -ef|grep java|grep savings|grep -v grep|wc -l`
if [ $proc -gt 0 ]
then
echo "国债管理 Websphere停止失败"
fi
fi
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
5)
echo "确认要启动国债前台 WebSphere吗?[y|n]\c"
read CHOISE
case $CHOISE in
y|Y)
echo "开始启动国债前台 WebSphere"
proc=`ps -ef|grep java|grep cxgz|grep -v grep|wc -l`
if [ $proc -gt 0 ];
then
echo "国债前台 WebSphere已启动"
else
$WEBSPHERE_HOME/bin/startServer.sh server1
proc=`ps -ef|grep java|grep cxgz|grep -v grep|wc -l`
if [ $proc -lt 1 ];
then
echo "国债前台 WebSphere启动失败"
fi
fi
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
6)
echo "确认要停止国债前台 Websphere吗?[y|n]\c"
read CHOISE;
case $CHOISE in
y|Y)
echo "开始停止国债前台 Websphere..."
proc=`ps -ef|grep java|grep cxgz|grep -v grep|wc -l`
if [ $proc -lt 1 ]
then
echo "国债前台 Websphere未启动"
else
$WEBSPHERE_HOME/bin/stopServer.sh server1
sleep 5
proc=`ps -ef|grep java|grep cxgz|grep -v grep|wc -l`
if [ $proc -gt 0 ]
then
echo "国债前台 Websphere停止失败"
fi
fi
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
7)
echo "确认要启动国债应用吗?[y|n]\c"
read CHOISE;
case $CHOISE in
y|Y)
echo "开始启动应用..."
su - gzjy -c "startgzjy.sh"
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
8)
echo "确认要停止国债应用吗?[y|n]\c"
read CHOISE;
case $CHOISE in
y|Y)
echo "开始停止国债应用..."
su - gzjy -c "stopgzjy.sh"
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
9)
echo "确认要备份储蓄国债数据库数据吗?[y|n]\c"
read CHOISE;
case $CHOISE in
y|Y)
export ORACLE_SID=cxgzdb
# echo "检查储蓄国债数据库状态..."
proc=`ps -ef|grep ora_|grep cxgzdb|grep -v grep|wc -l`
if [ $proc -lt 1 ]
then
echo "cxgzdb数据库未启动,请先启动数据库..."
else
echo "开始 $ORACLE_SID 数据库备份"
DB_BAK_PATH=$DB_BAK_BASEPATH
echo "备份目录:$DB_BAK_PATH"
echo "装载 $ORACLE_SID 数据库进行RMAN备份"
su - oracle -c "$SHELL_PATH/oraRMAN.sh $ORACLE_SID $DB_BAK_PATH "
fi
echo "按任意键返回菜单\c"
get_char
;;
esac
;;
10)
echo "确认要开始将备份数据全备份到磁带机吗?[y|n]\c"
read CHOISE
case $CHOISE in
y|Y)
echo "\n开始备份磁带...\c"
# echo "\n请在磁带机中放入磁带...回车开始备份...... \c"
# read ans
/home/pcl/bin/tape_backup.sh $DB_BAK_BASEPATH/fullbackup
if [ $? -ne 0 ]
then
echo "备份到磁带(/dev/rmt0)未能成功请检查备份日志!\n"
echo "^[[41m An error encountered!^[[40m"
exit 1
fi
echo "\n按任意键返回菜单\c"
get_char
;;
esac
;;
0)
exit 0;
;;
esac
done
#stty -echo
分享到:
相关推荐
本文介绍的“非常简单的Shell菜单脚本”就是一种基础的Shell脚本应用,它创建了一个简单的菜单系统,使用户能够通过选择编号来执行不同的功能,实现了人机交互的“傻瓜式”操作。 首先,脚本通过`#!/bin/sh`行指定...
在IT领域,Shell扩展是一种非常实用的技术,它允许开发者自定义Windows操作系统的上下文菜单,即用户通过右键点击文件或文件夹时出现的菜单。本项目基于Visual Studio 2017,提供了完整的源代码,可以用于创建一个名...
在Windows操作系统中,Shell编程是一种用于扩展或定制用户界面的方式,特别是涉及到桌面环境、文件管理器(如资源管理器)以及右键快捷菜单。本文将深入探讨如何利用Windows Shell编程来添加自定义的右键菜单及其...
ATL COM Shell 扩展是一种在Windows操作系统中增强文件管理器功能的技术,它允许开发者创建自定义的右键菜单项,以实现特定的功能。在这个场景中,我们关注的是如何使用ATL COM(Component Object Model)来创建一个...
### Shell菜单程序源代码知识点解析 #### 一、概述 在Linux系统中,Shell脚本是一种非常实用且强大的工具,可以用来实现各种自动化任务。本文将深入解析一个Shell菜单程序的源代码,帮助读者理解其功能及实现原理...
SuperStart OpenShell 是一款经典且功能丰富的开始菜单替代工具,适用于Windows操作系统,尤其是对于那些怀念Windows XP和Windows 7开始菜单设计的用户。这个工具的主要目标是为用户提供一个更熟悉的、自定义化的...
上下文菜单扩展是Shell扩展的一种常见形式,它允许开发者在用户右键点击文件或文件夹时添加自定义的操作选项。这篇"Windows Shell扩展编程傻瓜手册大全:上下文菜单扩展"详细介绍了如何实现这一功能。 首先,开发上...
#!/bin/sh echo "******************************************************************" echo " * MENU *" echo " * 1.copy 2.rename *" echo " * 3.remove 4.find *" echo " * 5.exit *" echo "******************...
COM ATL Shell Extension是一种技术,它允许开发者为Windows操作系统中的文件和文件夹右键菜单添加自定义的菜单项。这个技术基于Microsoft的Component Object Model (COM) 和Active Template Library (ATL),是...
本实验报告主要涵盖了 Linux 操作系统中的 shell 编程,着重于平方值计算和菜单实现的编程技巧。 一、实验目的及要求 本实验的目的是掌握 shell 编程的方法和技巧,熟悉 Linux 操作系统的编程环境。 二、实验设备...
Shell编写是Linux或Unix系统中的一种重要技能,它涉及到脚本编程、命令行交互以及系统自动化操作。在本文中,我们将深入探讨Shell脚本的基本概念、语法结构、常见命令及其实用技巧,帮助你掌握这一强大的工具。 ...
在Windows系统中,Shell提供了用户与操作系统交互的基本界面,包括桌面、开始菜单和资源管理器等。IShellBrowser接口是COM(Component Object Model)组件的一部分,由Microsoft开发,用于实现自定义的文件浏览器或...
### 操作系统中的Shell编程知识点概述 #### 一、Shell编程基础 **Shell**是一种用于与计算机操作系统交互的命令行接口。它不仅提供了一个用户与操作系统之间的桥梁,还支持脚本语言,允许用户通过编写一系列命令来...
COM ATL SHELL EXTENSION是一种技术,它允许开发者扩展Windows操作系统中的右键菜单,为文件或文件夹添加自定义的操作选项。这个压缩包包含了一系列的源代码文件和资源,用于创建一个简单的示例,演示如何利用COM...
### 模拟Shell命令解释器的关键知识点 ...综上所述,通过设计并实现这样一个模拟Shell命令解释器,不仅能够掌握C语言编程的基础知识,还能深入了解操作系统的工作原理,是一项非常有价值的实践项目。
Shell是操作系统提供给用户交互式访问系统内核的接口,允许用户通过命令行执行任务。 SHELL编程,又称为shell脚本,是一种编写自动化任务的工具。在Linux和Unix环境中,常用的Shell有Bash(Bourne-Again SHell)、C...
3、执行操作 脚本参考: 代码如下: #!/bin/bash #author lic(oldboy linux student) #date 1304 DISK_NO=”/dev/sda1″ NGINX_DIR=”/usr/local/tdoa/nginx/sbin/nginx” MYSQL_DIR=”/usr/local/tdoa/mysql/bin/...
Classic Shell是一款专为Windows 10用户设计的开始菜单定制工具,它旨在提供对操作系统原生开始菜单的个性化调整,让用户体验到经典Windows 7样式的开始菜单。这个4.2.5版本是针对中文用户的特别优化,确保了语言的...
Linux shell 是一种特殊的程序,它是用户与操作系统内核之间的桥梁。当用户登录成功,系统会启动一个交互式的 shell 来提示用户输入指令,对于初学者大都通过交互式使用 shell,但如果总要输入一组大致相同命令,...
COM ATL Shell 扩展是一种强大的技术,用于向Windows操作系统中的文件和文件夹右键菜单添加自定义功能。这种扩展允许开发者创建自己的上下文菜单项,为用户提供了更丰富的交互体验,比如快速执行特定操作或者访问...