在做Nagios实验中,需要反复通过命令重启Nagios服务和Ndo2db服务,非常麻烦,所以写了个Ndo2db启动脚本,供参考!
# !/bin/bash # 1999 - 2013版权Gentoo的基础 #分布式根据GNU通用公共许可证v2 #调用函数,操作系统是Gentoo,函数在/etc/摆在目录 如果[- f/etc/rc.d/init.d/功能);然后 。/etc/rc.d/init.d/functions elif [- f/etc/init.d/功能);然后 。/etc/init.d/functions fi #定义变量,一般情况下只需要修改prefix&, Ndo2dbBin就可以使用 前缀="/var/www/localhost/根/nagios” Ndo2dbBin=${前缀}/bin/ndo2db-3x Ndo2dbCfgFile=${前缀}/etc/ndo2db.cfg Ndo2dbVarDir=${前缀}/var Ndo2dbRunFile=${前缀}/var/ndo2db.lock Ndo2dbCGIDir=${前缀}/sbin Ndo2dbUser=nagios Ndo2dbGroup=nagios #判断ndo2db是否启动,如果启动读取进程号赋予Ndo2dbPID pid_ndo2db () { 如果[!- f $ Ndo2dbRunFile];然后 回声“Ndo2db已经停止。” 出口1 其他的 Ndo2dbPID='头- n 1 $ Ndo2dbRunFile ' fi } #没什么好说的,杀死Ndo2db进程 killproc_ndo2db () { 杀死Ndo2dbPID美元 } #根据var/ndo2db.lock来判断ndo2db服务状态 printstatus_ndo2db () { 如果[!- f $ Ndo2dbRunFile];然后 回声“ndo2db没有运行” 其他的 回声”ndo2db (pid Ndo2dbPID美元)运行……” fi } #确认存在ndo2dbbin文件,否则非法退出。 如果[!- f $ Ndo2dbBin];然后 回声“Ndo2dbBin美元可执行文件没有找到。退出。” 出口1 fi #确认存在ndo2db配置文件,否则非法退出。 如果[!- f $ Ndo2dbCfgFile];然后 回声”Ndo2dbCfgFile美元配置文件没有找到。退出。” 出口1 fi #开始开启服务,停止停止服务,地位查看服务状态,重启重启服务 “1美元” 开始) echo - n”开始ndo2db:“ Ndo2dbBin - c Ndo2dbCfgFile美元 回声“完成”。 ;; 停止) echo - n”回采ndo2db:“ pid_ndo2db killproc_ndo2db killall q ndo2db-3x 回声“完成”。 ;; 状态) pid_ndo2db printstatus_ndo2db ;; 重启) 0美元停止 $ 0开始 ;; *) 回声”用法:ndo2db{开始| | |重新启动停止状态}” 出口1 ;; esac #实际操作 # 1,拷贝脚本到/etc/init。d下,vi ndo2db # 2,添加脚本执行权限chmod + x ndo2db # 3,启动服务/etc/init。d/ndo2db开始,停止服务/etc/init。d/ndo2db停止,查看服务/etc/init。d/ndo2db地位,重启服务/etc/init。d/ndo2db重启。 #初次写模块化脚本,如果有问题,请指正,谢谢!