chkconfig --del sendmail
在下面,我们的 find 命令显示该处没有符号连接了,不过 sendmail 的 init 脚本仍然有:
[root]# find /etc/rc.d -name '*sendmail' -print
/etc/rc.d/init.d/sendmail
在我看来这很完美。脚本保留了,万一 sendmail 需要作为一个服务实现呢?不过所有的符号连接去掉了。我们能在每一个运行级禁止 sendmail 服务,这将在每一个 rc*.d 子目录中放置一个 kill 脚本,虽然 sendmail 从不在初始化阶段启动,是个不必要的任务 ,可是,我曾看到一些系统管理员需要在特定的场合手工启动服务。把 kill 脚本留在那里确保可以干净的杀掉服务。
到目前为止,一切顺利。我们已经知道使用 chkconfig 如何查看、调整、删掉服务。现在添加一个新的服务。看下面的脚本 oracle:
Listing 1. Oracle Script
#!/bin/sh
#chkconfig: 2345 80 05
#description: Oracle 8 Server
ORA_HOME=/usr/home/oracle/product/8.0.5
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
"start")
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
;;
"stop")
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
;;
esac
-----------------------------------------------------
使用这个脚本,Oracle 8 可以以参数 "start" 启动,以 "stop" 参数停止。它符合 init 脚本的最小要求可以和 /etc/rc.d/rc 脚本联合使用。
把脚本放到 /etc/rc.d/init.d 中并运行(以 root) :
chmod +x /etc/rc.d/init.d/oracle
使你的脚本可执行。如果你担心普通用户察看这个脚本,你可以设定更严格的文件权限 。只要这个脚本可以被 root 作为单独的脚本运行就可以。
注意脚本中的两行注释: