关闭

redhat自动起停服务的脚本

2719人阅读 评论(1) 收藏 举报

#!/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.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:78313次
    • 积分:1119
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:0篇
    • 译文:0篇
    • 评论:25条
    文章分类
    最新评论
    朋友的网站