统计cpu使用率
#CPU #!/bin/bash TotalA=`cat /proc/stat | sed -n '1p' | awk '{print $2+$3+$4+$5+$6+$7+$8}'` IDLEA=`cat /proc/stat |sed -n '1p' |awk '{print $5}'` sleep 2 TotalB=`cat /proc/stat | sed -n '1p' | awk '{print $2+$3+$4+$5+$6+$7+$8}'` IDLEB=`cat /proc/stat |sed -n '1p' |awk '{print $5}'` Total=`echo "$TotalB-$TotalA" |bc` Idle=`echo "$IDLEB-$IDLEA" |bc` USAGE=`echo "$Idle/$Total*100"|bc -l` RATE=`echo "100-$USAGE "|bc -l` USERATE=`echo "scale=2;$RATE/1"|bc`%
统计内存使用率
#!/bin/bash onemin=$(cat /proc/loadavg |awk '{print $1}') fivemin=`cat /proc/loadavg |awk '{print $2}'` shiwumin=`cat /proc/loadavg |awk '{print $3}'` echo "load1" ${onemin} echo "load5" ${fivemin} echo "load15" ${shiwumin}
服务器初始化
要求:打开TCP连接快速回收功能,提示:net.ipv4.tcp_tw_reuse = 1
设置系统最大文件打开数为 204800,立即生效
将 ssh 访问的 TCP 为 ESTABLISHED 状态的连接全kill掉
#!/bin/bash #打开TCP连接 sed -i '$a net.ipv4.tcp_tw_reuse = 1' /etc/sysctl.conf cat /etc/sysctl.conf | grep "net.ipv4.tcp_tw_reuse" #系统最大文件打开数 ulimit -n 204800 ulimit -a | grep "open files" #ssh进程kill sshd_pid=`netstat -lantp | grep -w sshd | grep ESTABLISHED | awk '{print $(NF-1)}' | awk -F "/" '{print $1}' | xargs` for i in $sshd_pid do kill -9 $i done
#!/bin/bash ulimit -n 204800 ulimit -a | grep "open files" date_time=`date +"%Y-%m-%d"` echo "/corefile/core-$date_time" > /proc/sys/kernel/core_pattern cat /proc/sys/kernel/core_pattern
发布logicsvr作业
要求:
分发logicsvr.tar.gz
解压程序包到/opt目录
修改配置文件logicsvr.conf,address="本机内网ip"
启动命令:logicsvr -c logicsvr.conf
#!/bin/bash IP_HOST=`hostname -i` tar xf /opt/logicsvr.tar.gz -C /opt sed -i "s/address=.*/address=$IP_HOST/g" /opt/logicsvr/logicsvr.conf echo "test" cd /opt/logicsvr && ./logicsvr -c logicsvr.conf ps -ef | grep logicsvr
logicsvr进程监控
要求:创建logicsvr进程监控,如果进程不存在自动拉起进程,并且写日志到/opt/logicsvr_monitor.log
将进程监控作业设置为定时执行,每分钟执行一次
#!/bin/bash date_time=`date +"%Y-%m-%d"` ps -ef |grep -w logicsvr | grep -v grep if [ $? == 0 ]; then echo "logicsvr success" else cd /opt/logicsvr && ./logicsvr -c logicsvr.conf ps -ef | grep logicsvr echo "logicsvr restart ok $date_time" >> /opt/logicsvr_monitor.log fi
部署nginx
要求:部署NGINX
配置NGINX监听内网IP,并启动NGINX
#!/bin/bash rpm -qa |grep nginx if [ $? == 0 ]; then sed -i '/.*[:/d' /etc/nginx/nginx.conf && sed -i 's/listen.*/listen 127.0.0.1:80;/g' /etc/nginx/nginx.conf systemctl start nginx else yum install nginx -y fi
部署apache
#!/bin/bash rpm -qa | grep httpd if [ $? != 0 ];then yum -y insatll httpd sed -i 's/80/8089/g' /etc/httpd/conf/httpd.conf else service httpd start && service httpd status fi