redhat自动起停服务的教本。

类别:软件工程 点击:0 评论:0 推荐:

#!/bin/bash
# chkconfig: chkconfig --add filename
# path: /etc/inc.d/init.d/filename
# processname: filename


RETVAL=0
prog="filename"

start() {
 echo -n $"Starting..."
        su - root -c "mount -t ntfs /dev/hda5 /mnt/d"
        su - root -c "mount -t ntfs /dev/hda6 /mnt/e"
        su - root -c "mount -t ntfs /dev/hda7 /mnt/f"
        su - oracle -c "dbstart"
        su - oracle -c "lsnrctl start"
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
 return $RETVAL
}

stop() {
        echo -n $"Shutting down "
        su - oracle -c "lsnrctl stop"
        su - oracle -c "dbshut"
        su - root -c "umount /dev/hda5"
        su - root -c "umount /dev/hda6"
        su - root -c "umount /dev/hda7"
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
 return $RETVAL
}

# See how we were called.
case "$1" in
  start)
 start
        ;; 
  stop)
 stop
        ;; 
  *)
 echo $"Usage: $0 {start|stop}"
 exit 1
esac

exit $RETVAL

-------------------------------------上面为脚本------------------------------------------------------

只需要修改绿色和红色部分,绿色为启动部分,红色为停止部分,自己控制好起停顺

序,下面简单解释一下。

 su - root -c "mount -t ntfs /dev/hda7 /mnt/f"

  这句的意思就是说用root用户执行命令:mount -t ntfs /dev/hda7 /mnt/f

其实注释里面有了,把这个脚本保存成一个文件,给他700权限,root:root用户,

拷贝到/etc/inc.d/init.d/这个目录,然后执行命令:chkconfig --add 文件名

如果没有报错,那就启动ntsysv,选中你这个文件名,确定,好了,以后自动起停数据库,

自动装载/卸载windows的ntfs格式硬盘。

注意:

oracle用户使用dbstart,dbshut命令需要把oratab行尾的N改成Y。

装载ntfs硬盘需要额外对内核进行一些修改,具体请google.

本文地址:http://com.8s8s.com/it/it32338.htm