直接上脚本内容
#!/bin/bash#chkconfig: 2345 80 90#description:sniffer#第一行,告诉系统使用的shell,所以的shell脚本都是这样。#第二行,chkconfig后面有三个参数2345,80和90告诉chkconfig程序,需要在rc2.d~rc5.d目录下,创建名字为 S80sniffer的文件连接,连接到/etc/rc.d/init.d目录下的的sniffer脚本。第一个字符是S,系统在启动的时候,运行脚本asniffer,就会添加一个start参数,告诉脚本,现在是启动模式。同时在rc0.d和rc6.d目录下,创建名字为K90sniffer的文件连接,第一个字符为K,系统在关闭系统的时候,会运行sniffer,添加一个stop,告诉脚本,现在是关闭模式。#注意上面的三行中,第二,第三行是必须的,否则在运行chkconfig --add auto_run时,会报错。# 当系统开始启动的时候,运行的函数start() { echo "Start sniffer" /usr/local/mysql-sniffer/bin/mysql-sniffer -d -i eth0 -p 3306 -l /home/logs/mysql/ -s 1440 -e /home/logs/mysql/sniffer_stderr echo "OK"}# 当系统开始停止的时候,运行的函数stop() { echo "Stop sniffer" kill -9 `ps -ef|grep mysql-sniffer|grep -v grep|awk '{print $2}'` echo "OK"}# 当系统开始重启的时候,运行的函数 restart() { stop start}# 这里可以认为是对上面三个函数进行分支调用case "$1" in start) start # 调用start函数 ;; stop) stop # 调用stop函数 ;; restart) restart # 调用restart函数 ;; *) echo "Usage:$0 {start|stop|restart}" exit 1esac