线上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 |