Linux shell 自启动脚本写法
直接上脚本内容
#!/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 1
esac

浙公网安备 33010602011771号