——在一台RHEL5服务器中通过源码编译安装了zebra软件(见第3章实验),用于提供软路由服务。为了更方便对zebra服务进行启动、终止等管理操作,需要编写简单的zebrad服务启动脚本

需求描述

为已安装的zebra程序编写 zebrad 服务控制脚本

启动服务:/etc/init.d/zebrad start

终止服务:/etc/init.d/zebrad start

重启服务:/etc/init.d/zebrad restart

查看服务状态:/etc/init.d/zebrad status

未正确指定“start”、“stop”、“restart”、“status”参数时,输出用法帮助信息后退出

在启动、终止服务时应显示相关提示信息

将zebrad添加为系统服务

实现思路

参考已有的系统脚本建立 zebrad 脚本文件

p_w_picpath

p_w_picpath

将启动、终止zebra程序等执行操作分别定义为函数

通过“/usr/local/sbin/zebra -d”命令启动zebra服务

结合“/var/run/zebra.pid”文件中的PID号终止zebra进程

通过判断“zebra -d”进程信息确定zebra服务状态

设置case分支语句

读取执行脚本时提供的未知参数“$1”,并进行比较

若为“start”、“stop”等字串,分别调用对应函数

否则执行默认操作,显示用法帮助信息并退出

p_w_picpath

p_w_picpath

执行“chkconfig --add zebrad”添加为系统服务

p_w_picpath

p_w_picpath

注意:

脚本文件开头要保留用于chkconfig配置的内容,例如:

#! /bin/bash

# chkconfig: 2345 99 60

# description: Start/Stop the zebra router daemon.