线上memcached服务器启动了很多实例,端口很多,需要对这些端口进行监控,并在端口关闭的情况下自启动。监控脚本如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@memcache2 ~] # ps -ef|grep /usr/bin/memcached|grep -v grep
root 6139 1 0 2016 ? 04:49:49 /usr/bin/memcached -d -m 512 -p 11212 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6184 1 0 2016 ? 00:29:25 /usr/bin/memcached -d -m 512 -p 11411 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6198 1 0 2016 ? 00:29:24 /usr/bin/memcached -d -m 512 -p 11412 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6214 1 0 2016 ? 00:30:17 /usr/bin/memcached -d -m 512 -p 11413 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6229 1 0 2016 ? 00:29:19 /usr/bin/memcached -d -m 512 -p 11521 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6244 1 0 2016 ? 00:29:49 /usr/bin/memcached -d -m 512 -p 11522 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6259 1 0 2016 ? 00:09:27 /usr/bin/memcached -d -m 512 -p 11211 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6274 1 0 2016 ? 00:09:22 /usr/bin/memcached -d -m 512 -p 11213 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6289 1 0 2016 ? 00:29:54 /usr/bin/memcached -d -m 512 -p 11221 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 6304 1 0 2016 ? 00:29:16 /usr/bin/memcached -d -m 512 -p 11222 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 12514 1 0 13:00 ? 00:00:00 /usr/bin/memcached -d -m 512 -p 11321 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 12758 1 0 13:02 ? 00:00:00 /usr/bin/memcached -d -m 512 -p 11322 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11322 .pid
root 24085 1 0 2016 ? 00:31:33 /usr/bin/memcached -d -m 512 -p 11311 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11311 .pid
root 24100 1 0 2016 ? 00:31:55 /usr/bin/memcached -d -m 512 -p 11312 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11312 .pid
root 24115 1 0 2016 ? 00:31:51 /usr/bin/memcached -d -m 512 -p 11313 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11313 .pid
root 24740 1 0 2016 ? 00:03:20 /usr/bin/memcached -d -m 512 -p 11811 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11811 .pid
root 24755 1 0 2016 ? 00:03:19 /usr/bin/memcached -d -m 512 -p 11812 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11812 .pid
root 24770 1 0 2016 ? 00:03:18 /usr/bin/memcached -d -m 512 -p 11813 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11813 .pid
root 24785 1 0 2016 ? 00:03:18 /usr/bin/memcached -d -m 512 -p 11814 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11814 .pid
root 24800 1 0 2016 ? 00:03:19 /usr/bin/memcached -d -m 512 -p 11815 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11815 .pid
root 24815 1 0 2016 ? 00:03:14 /usr/bin/memcached -d -m 512 -p 11816 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11816 .pid
root 24830 1 0 2016 ? 00:03:17 /usr/bin/memcached -d -m 512 -p 11817 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11817 .pid
root 24845 1 0 2016 ? 00:03:17 /usr/bin/memcached -d -m 512 -p 11818 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11818 .pid
root 24860 1 0 2016 ? 00:03:14 /usr/bin/memcached -d -m 512 -p 11819 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11819 .pid
root 24875 1 0 2016 ? 00:03:18 /usr/bin/memcached -d -m 512 -p 11820 -u root -c 4096 -P /var/lib/memcache/logs/memcached_11820 .pid
|
1
|
[root@memcache2 ~] # ps -ef|grep /usr/bin/memcached|grep -v grep|awk -F" " '{print $13}' > /root/memcache_port.list
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@memcache2 ~] # cat /root/memcache_port.list
11212 11411 11412 11413 11521 11522 11211 11213 11221 11222 11321 11322 11311 11312 11313 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 |
1
2
3
4
5
6
7
8
9
10
11
|
[root@memcache2 ~] # cat memcache_port.sh //脚本权限是755
#!/bin/bash for i in ` cat /root/memcache_port .list`
do NUM=$( /usr/sbin/lsof -i:$i| wc -l)
if [ $NUM - eq 0 ]; then
/usr/bin/memcached -d -m 512 -p $i -u root -c 4096 -P /var/lib/memcache/logs/memcached_ $i.pid
else
echo "$i is ok"
fi
done |
1
2
|
[root@memcache2 ~] # crontab -l
* * * * * /bin/bash -x /root/memcache_port .sh > /dev/null 2>&1
|