Este script tem o intuito de otimizar os servidores, derrubando aquelas conexões que teoricamente estão atoa.Espero que seja útil, críticas e sugestões são sempre bem vindas.
[ Download: LIMPANDO_CONEXAO.sh ] [ Enviar nova versão ]
#!/bin/bash#################################################### ## Script para matar conexoes ociosas ## ## Nome: LIMPANDO_CONEXAO Versao 0.2 ## by Guilherme Moura de Souza ## Colaboradores: Tulio.Hoffimann ## stack_of ## Diede ## ## Necessario criar o diretorio /u/log ## ## Recomendo rodar atraves do cron do root da ## seguinte forma: */1 * * * * "caminho do script" ## ####################################################LOG=/u/logs/"LIM_CON-"`date +%m%d`LIMPANDO_CONEXAO() {# Digite na frente do "=" o limete de tempo que sera permitido que a# conexao fique ociosa "EM MINUTOS"LIMITE=30# Identificando o numero de conexoesconexoes=`w -h | grep -c " "`for L in $(seq 1 $conexoes) do #Definindo o PTS/* ou TTY* PTSocioso=`w -h | grep -m $L " " | tail -1 | tr -s " " | cut -d " " -f2` #Buscando o tempo OCIOSO Tempocioso=`w -h | grep -m $L " " | tail -1 | tr -s " " | cut -d " " -f5` #Verificando se alguma conexao esta acima do limite H1=$(echo $Tempocioso | grep "m") S=$(echo $Tempocioso | grep "s") if [ -z $H1 ]; then if [ -z $S ]; then M=$(echo $Tempocioso | cut -d ":" -f1) if [ $M -gt $LIMITE ]; then skill -kill -v $PTSocioso >> $LOG touch /u/COMECA_DE_NOVO fi fi; else H2=$(echo $H1 | cut -d ":" -f1) H3=$(echo $H1 | cut -d ":" -f2 | cut -d "m" -f1) H=`awk 'BEGIN {print '$H2'*60+'$H3'}'` if [ $H -gt $LIMITE ]; then skill -kill -v $PTSocioso >> $LOG touch /u/COMECA_DE_NOVO fi fi doneif [ -e /u/COMECA_DE_NOVO ] then rm -f /u/COMECA_DE_NOVO LIMPANDO_CONEXAOfi}# Iniciando Rotina e gerando LOGSecho " ==================================== " >> $LOGecho " Inicio da Varredura as "`date +%H:%M:%S` >> $LOGrm -f /u/COMECA_DE_NOVOLIMPANDO_CONEXAOecho " Fim da Varredura as "`date +%H:%M:%S` >> $LOG |
Scripts recomendados
http://www.vivaolinux.com.br/script/Limpando-conexao-ociosa