shell片段
1、远程登入实例并执行命令
ssh $ip << EOF echo "are you ok?" EOF
2、curl只显示请求返回码
curl -s -o /dev/null -w "%{http_code}\n" <URL>
3、获取内存使用量,并重启占用高的服务
#!/bin/bash a=$(free -h |awk 'NR==2 {print $4}'|wc -L) #获取单位下标 echo $a let b=$a-1 #获取数值的下标 echo $b size=$(free -h |awk 'NR==2 {print $4}'|cut -c $a) #获取单位 echo $size free=$(free -h |awk 'NR==2 {print $4}'|cut -c 1-$b) #获取free的数值 echo $free if [ $size == M ] then if [ $free -le 250 ] then echo "可以重启" supervisorctl restart logstash-shipper-live-audio logstash-shipper-live-video-segment logstash-shipper-video logstash-shipperasr logstash-shipperaudio logstash-shipperaudio-segment logstash-shipperimage logstash-shippermedia logstash-shipperrcs logstash-shipperrcs-pre else echo "大小不满足" exit 1 fi else echo "单位不满足" exit 1 fi
4、示例端口探活
ports=( 5000 5002 ) for port in ${ports[@]}; do i=0 count=`ssh $ip "netstat -ntlp |grep $port |grep -v "grep" |wc -l"` while [ 0 == $count ]; do if [ $i -lt 30 ] then i=`expr $i + 1` else echo "tcpport $port startup failed" exit 1 fi echo "tcpport $port starting..." sleep 10 count=`ssh $ip "netstat -ntlp |grep $port |grep -v "grep" |wc -l"` done echo "tcpport $port startup completed" done echo "tcpport servers startup completed"