问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在redhat Linux中安装脚本程序

发布网友 发布时间:2022-04-23 04:40

我来回答

2个回答

热心网友 时间:2022-05-07 04:32

所谓标准系统服务,应该是满足以下几条标准的后台运行程序。
1) 用 chkconfig --add 来安装,用 chkconfig --list 检查状态。
2) 用 ntsysv 来定制某个服务,是否伴随机器的启动而自动启动。
3) 在图形模式下,可以用 serviceconf 来启动、停止、重启服务。
4) 开机象系统服务那样显示 starting,关机显示 shutting down。

三、下面是具体的 dbora 脚本,在 Redhat 7.3 上通过,本人已经
验证了几十次,保证能运行。如果在您的系统不能运行,请告知。

备注:启动 lsnrctl 的时候不用 su- 而使用 su,否则失败,并且
要求使用 oracle 用户本身的 BASH_ENV。脚本开头的几个 ORA_xxx
参数都要依照实际情况写,否则会说找不到 Oracle 程序或者 pid。
DOS 格式方便发文,拷下来后请大家用 UltraEdit 转为 Unix 格式。

------------------------------------------------------------------------

#!/bin/bash

#

# /etc/rc.d/init.d/dbora

#

# Starts the dbora daemon

#

# chkconfig: 345 94 6

# description: Runs commands scheled by the at command at the time \

# specified when at was run, and runs batch commands when the load \

# average is low enough.

# processname: dbora

#

# copyright: Written by Wwashington AT smth bbs, free to distribute. \

# You must keep everything in this file, including the copyright \

# announcement. Study demo: atd & postgresql in /etc/rc.d/init.d

# Source function library.

INITD=/etc/rc.d/init.d

. $INITD/functions

# Source system profile.

if [ -r /etc/profile ] ; then . /etc/profile ; fi

ORA_SID=udb01

ORA_USER=oracle

ORA_BASE=/udb01/app/oracle

ORA_HOME=/udb01/app/oracle/proct/8.1.7

BASH_ENV=$ORA_BASE/.bashrc

test -x $ORA_HOME/bin/dbstart || exit 0

RETVAL=0

GREP_UNIX=`uname | awk '{if($1 ~ /(^SunOS|^HP-UX)/) print $1}'`

if ! [ "$GREP_UNIX" = "" ]

then

GREP_FLAG=ef

else

GREP_FLAG=efw

fi

RUNLEVEL=`runlevel | awk '{ print $2 }'`

# RUNLEVEL=6

case "$RUNLEVEL" in

3)

SH_FLAG=1

;;

4)

SH_FLAG=1

;;

5)

SH_FLAG=1

;;

*)

SH_FLAG=0

;;

esac

# Below is a debug info to display Show Flag

# echo RUNLEVEL=$RUNLEVEL , SH_FLAG=$SH_FLAG

#

# See how we were called.

#

prog="dbora"

start() {

# Check flag, if dbora already started, quit dbora

if [ ! -f /var/lock/subsys/dbora ]; then

echo -n $"Starting $prog: "

# This is the background exec which can work under

# both CLI (dbora) and GUI mode (serviceconf). We

# must forward stderr to a file or null, otherwise

# dbora won't start with a return code in GUI mode

echo ""

echo "[oralog] ----->;"

echo "Starting Oracle8i: "

echo "-------------------------------------------------------------------------"

# Please note that forward stderr(2) to /dev/null or &- means close stderr

su - $ORA_USER -c "$ORA_HOME/bin/dbstart >; /tmp/ORA-dbuplog" 2>;/dev/null

if [ $SH_FLAG -eq 1 ]; then

cat /tmp/ORA-dbuplog

fi

echo

echo "Starting TNS Listener:"

echo "-------------------------------------------------------------------------"

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl start >; /tmp/ORA-lsnrlog" 2>;&-

if [ $SH_FLAG -eq 1 ]; then

cat /tmp/ORA-lsnrlog

fi

pid=`pidof -s ora_pmon_$ORA_SID`

if [ "$pid" == "" ]; then

RETVAL=1;

else

RETVAL=0;

fi

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbora

echo

fi

return $RETVAL

}

stop() {

echo -n $"Stopping $prog: "

# In order to use database local cmd to keep safe,

# we use dbshut instead of simply kill ora_ proc.

# When we reboot (runlevel = 0 or 6), no verbose.

# Force remove /var/lock/subsys/dbora to activate

if [ $SH_FLAG -eq 1 ]; then

echo ""

echo "[oralog] ----->;"

echo "Shutting down TNS Listener:"

echo "-------------------------------------------------------------------------"

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl stop"

else

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl stop >; /dev/null"

fi

if [ $SH_FLAG -eq 1 ]; then

echo

fi

if [ $SH_FLAG -eq 1 ]; then

echo "Shutting down Oracle8i: "

echo "-------------------------------------------------------------------------"

su - $ORA_USER -c "$ORA_HOME/bin/dbshut"

else

su - $ORA_USER -c "$ORA_HOME/bin/dbshut >; /dev/null"

fi

pid=`ps -$GREP_FLAG | grep -e ora_ -e lsnr | grep -v grep | awk '{ print $2 }'`

# Show pids when shutdown failed, to see debug info

# echo $pid

if [ $pid ]; then

failure ""

else

success ""

fi

echo ""

rm -f /var/lock/subsys/dbora

return $RETVAL

}

restart() {

echo "Restarting Oracle8i and Listener: "

echo "========================================================================="

stop

start

}

reload() {

restart

}

status_ol() {

echo "Checking Oracle8i and Listener: "

echo "========================================================================="

su - $ORA_USER -c "$ORA_HOME/bin/dbstat"

}

case "$1" in

start)

start

;;

stop)

stop

;;

reload|restart)

restart

;;

condrestart)

if [ -f /var/lock/subsys/dbora ]; then

restart

fi

;;

status)

status_ol

;;

*)

echo $"Usage: $0 {start|stop|restart|condrestart|status}"

exit 1

esac

exit $?

exit $RETVAL

------------------------------------------------------------------------

caiwolf 回复于:2004-10-17 00:47:46

顶一个.:)

wwashington 回复于:2004-10-17 11:32:42

刚才的文件是 /etc/rc.d/init.d/dbora,现在补充一个 dbstat,
bash-2.05a# cat $ORACLE_HOME/bin/dbstat

GREP_UNIX=`uname | awk '{if($1 ~ /(^SunOS|^HP-UX)/) print $1}'`

if ! [ "$GREP_UNIX" = "" ]
then
GREP_FILE=/usr/xpg4/bin/grep
GREP_FLAG=ef
else
GREP_FILE=/bin/grep
GREP_FLAG=efw
fi
echo
echo "# ps -$GREP_FLAG | $GREP_FILE -e ora_ -e lsnr| grep -v grep"
echo
ps -$GREP_FLAG | $GREP_FILE -e ora_ -e lsnr| grep -v grep
echo

bash-2.05a# cat $ORACLE_BASE/.bashrc

# User specific environment and startup programs

ORA_FLAG=`echo $PATH | grep -e ^$ORACLE_BASE`
if [ "$ORA_FLAG" = "" ]; then
PATH=$ORACLE_HOME/bin:$PATH
export PATH
fi

JAVA_HOME=/usr/java/1.18
LD_ASSUME_KERNEL=2.2.5
export JAVA_HOME LD_ASSUME_KERNEL

. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh追问是在终端内 运行么 ? 如果终端 连 简单的 Is 命令都 cann't found 怎么办

热心网友 时间:2022-05-07 05:50

假设这个脚本的文件名为:abc.sh,又假设被放在:/home/youname那么,你可以这么安装:
首先,用cd命令切换到对应的文件夹:cd /home/youname
再然后添加可执行权限:su root -->回车输入密码-->chomd a+x abc.sh
再执行:su -c 'abc.sh'
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...下图方式对折一分为二裁开成为A2纸(如图(2) 明信片怎么样固定 为什么我的高考录取通知书还没有到? 梦见我孙女光秃秃的躺在路上的预兆 师兄请按剧本来分集剧情介绍(第1-40全集)大结局,几点更新,在哪个台播出... 发挥什么优势 三合一烤肠机接煤气罐接口可以换方向吗 关于福睿斯4年,3万公里保养问题请教? 福睿斯水箱加水在哪里 福睿斯水箱加水在哪里加 CSGO武器箱怎么获得 CSGO武器箱钥匙在哪买便宜 linux如何用脚本安装需要交互的软件 腾讯大王卡在腾讯视频下载视频免流吗? 跪求腾讯视频免费看的电视剧,【免费高清】在线观看百度网盘资源 【合集】腾讯视频的电视剧大全免费,【免费高清】在线观看百度网盘资源 盘点腾讯视频2021年新版,【在线观看】免费百度云资源 跪求腾讯视频大全免费观看,【在线观看】免费百度云资源 腾讯王卡用腾讯视频下载视频免流量吗? 下载腾讯视频收费吗? linux下进程如何查看什么时候停止,哪个用户停止的 linux系统下用jps命令查看java进程,提示process information unavailab... linux环境下ps命令查看找不到java进程是为什么? 如何查看java进程及服务? 冰箱制冷不好 压缩机上面热下面冷 是怎么回事? 家里洗澡间用浴霸上面暖和下面冷怎么办? 怎么做凉拌? MT4手机怎么设置挂单? 怎样调制两杯不一样的水?第一杯:上冷夏热 第二杯;上热下冷 暖气片上热下凉怎么办? 手机mt4如何增加多个单独指标窗口 冷藏车啦毛挑下冷怎么办? linux中怎样执行脚本? 在Linux shell脚本中,安装过程中如何实现自动选择安装选项? 怎么在linux下创建一个可运行脚本? linux怎么执行一键安装脚本 linux下编写一个shell脚本,实现自动安装软件 linux上多个软件顺序安装的脚本怎么写 枕头发黄怎么洗?3种方法轻松解决 如何理解儿童的先天素质是遗传基因和胎儿发育过程的环境因素之间复杂的相互作 少儿先天畸形是怎样引起的? 儿童先天性听力损失是什么原因造成的? 你认为儿童的语言是先天的还是后天的? 标题儿童先天出生缺陷这一学科形成的标志性事件是什么? 小儿先天性腱鞘炎如何治疗? 儿童先天大散光怎么改善? 儿童得了先天性侏儒症能治好吗? 天才儿童,是先天遗传还是后天塑造? 买二套房,宁波各大银行的贷款利率是多少 宁波购买第二套房政策 今日起!宁波四大行房贷利率全部上调,二套房上浮15% 支付宝刷脸登录在哪怎么用,支付宝没有刷脸登录