Squid系统服务脚本
1 #!/bin/bash 2 # chkconfig: - 90 25 #其中-的意思是所有运行级别 3 # config: /etc/squid.conf 4 # pidfile: /usr/local/squid/var/run/squid.pid 5 # Description: Squid - Internet Object Cache 6 7 PID="/usr/local/squid/var/run/squid.pid" #程序运行才会有pid文件,反之则无 8 CONF="/etc/squid.conf" 9 CMD="/usr/local/squid/sbin/squid" 10 11 case "$1" in 12 start) 13 netstat -utpln | grep squid $> /dev/null 14 if [ $? -eq 0 ] 15 then 16 echo "Squid is running" 17 else 18 $CMD 19 fi 20 ;; 21 stop) 22 $CMD -k kill $> /dev/null #调用squid命令停止服务 23 rm -rf $PID $> /dev/null #删除pid文件 24 ;; 25 status) 26 [ -f $PID ] &> /dev/null #检测pid文件是否存在 27 if [ $? -eq 0 ] #假如文件存在则0等于0,执行netstat命令展示端口 28 then 29 netstat -utpln | grep squid 30 else 31 echo "Squdi is not running" 32 fi 33 ;; 34 restart) 35 $0 stop $> /dev/null #注意:$0 stop的意思是调用之前定义的stop 36 echo "正在关闭Squid..." 37 $0 start $> /dev/null 38 echo "正在启动Squid..." 39 ;; 40 reload) 41 $CMD -k reconfigure #重新加载,但不中断服务,配置更改后,建议用这种方式加载 42 ;; 43 check) 44 $CMD -k parse #检查配置文件语法是否错误 45 ;; 46 *) 47 echo "$0的用法:{start | stop | restart | reload | check | status}" # $0代表脚本名字/etc/squid.conf的用法 48 ;; 49 esac