varnish管理脚本

升级到3.01以后命令有些变动 

原来的purge变为ban 

purge.url变为ban.url

 

记录下 以作备份 又学习了下shell编程 

  1 #!/bin/bash
2
3 if [ -z $1 ];then
4 echo "请输入参数"
5 exit
6 fi
7
8
9 check_ver() {
10 echo $1 | grep -Eq '[0-9]{14}$'
11 if [ $? -ne 0 ];then
12 echo "请输入正确的参数版本号"
13 exit
14 fi
15 }
16
17
18 varnish_id=$(date +%Y%m%d%H%M%S)
19 varnish="/usr/local/varnish/sbin/varnishd"
20 varnishadm="/usr/local/varnish/bin/varnishadm"
21 prog=$(basename $varnish)
22 VARNISH_CONF_FILE="/usr/local/varnish/vcl.conf"
23 PID=$(pgrep varnish)
24 myPid=$$
25 start_jobs() {
26 $varnish \
27 -n /var/vcache \
28 -u www \
29 -g www \
30 -w 2,65536,60 \
31 -a :80 \
32 -f $VARNISH_CONF_FILE \
33 -T 127.0.0.1:8080 \
34 -s file,/var/vcache/varnish_cache.data,50G \
35 -p thread_pool_min=200 \
36 -p thread_pool_max=4000 \
37 -p thread_pools=4 \
38 -p thread_pool_add_delay=2 \
39 -p listen_depth=4096 \
40 -p lru_interval=86400
41 }
42
43
44 start_check() {
45 [ -x $varnish ] || exit 5
46 [ -f $VARNISH_CONF_FILE ] || exit 6
47 if [ "$PID" == "$myPid" ] || [ -z "$PID" ];then
48 echo $"Starting $prog: OK"
49 start_jobs
50 else
51 echo "already running : $PID"
52 fi
53 }
54
55
56 stop_check() {
57 [ -x $varnish ] || exit 5
58 [ -f $VARNISH_CONF_FILE ] || exit 6
59 if [ -z "$PID" ];then
60 echo $"$prog not running"
61 else
62 ret=$(pkill varnishd)
63 echo $ret
64 fi
65 }
66
67
68 purgehost_check() {
69 [ -x $varnishadm ] || exit 5
70 if [ $# > 0 ];then
71 $varnishadm -T localhost:8080 ban req.http.host == $1
72 echo "purged $1"
73 fi
74 }
75
76
77 purge_check() {
78 [ -x $varnishadm ] || exit 5
79 if [ $# > 0 ];then
80 $varnishadm -T localhost:8080 ban.url $1
81 echo "purged $1"
82 fi
83 }
84 check_reload(){
85 [ -x $varnishadm ] || exit 5
86 [ -f $VARNISH_CONF_FILE ] || exit 6
87 if [ -z "$PID" ];then
88 echo $"$prog not running"
89 else
90 $varnishadm -T localhost:8080 vcl.load $varnish_id $VARNISH_CONF_FILE
91 if [ $? -eq 0 ];then
92 $varnishadm -T localhost:8080 vcl.use $varnish_id
93 echo $"Check $prog : OK "
94 else
95 echo $"Check $prog Fail: "
96 fi
97 fi
98
99
100 }
101
102
103 check_list() {
104 if [ -z "$PID" ];then
105 echo $"$prog not running"
106 else
107 $varnishadm -T localhost:8080 vcl.list
108 fi
109 }
110
111
112 check_reback() {
113 check_ver $1
114 if [ $? -eq 0 ];then
115 if [ -z "$PID" ];then
116 echo $"$prog not running"
117 else
118 $varnishadm -T localhost:8080 vcl.use $1
119 fi
120 echo $"$prog Version Back $1"
121 fi
122 }
123
124
125 case "$1" in
126 start)
127 start_check && exit 0
128 $1
129 ;;
130 stop)
131 stop_check && exit 0
132 $1
133 ;;
134 purgehost)
135 purgehost_check $2 && exit 0
136 $1
137 ;;
138 purge)
139 purge_check $2 && exit 0
140 $1
141 ;;
142 reload)
143 check_reload && exit 7
144 $1
145 ;;
146 list)
147 check_list && exit 0
148 $1
149 ;;
150 reback)
151 check_reback $2 && exit 0
152 $1
153 ;;
154 *)
155 echo $"Usage: $0 {start|stop|reload|purge|purgehost|list|reback}"
156 exit 2
157 esac



转载于:https://www.cnblogs.com/vaal-water/articles/varnish-admin_script.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值