[code]#!/bin/bash/bin/bash
# chkconfig: 345 95 5  
# 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[/code]
-------------------------------------上面为脚本------------------------------------------------------
只需要修改绿色和红色部分,绿色为启动部分,红色为停止部分,自己控制好起停顺
序,下面简单解释一下。
[code] su - root -c "mount -t ntfs /dev/hda7 /mnt/f"[/code]
  这句的意思就是说用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。
脚本里面的# chkconfig: 345 95 5后面的5由来: /etc/rc n .d/对应服务的K值
装载ntfs硬盘需要额外对内核进行一些修改,具体请google.
                  	
				

lgms2008 于 2006-09-04 17:20:18发表:
顶起来