Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2009, 19:48
9andres
 
Fecha de Ingreso: junio-2001
Ubicación: Rosario
Mensajes: 1.434
Antigüedad: 23 años, 6 meses
Puntos: 2
De acuerdo Script SH para Reiniciar Apache automaticamente cuando tengo Poca Memoria!

Hola amigos

Ando con un problema bastante grabe de DDOS, ya he hecho todo para frenarlo pero es inutil.........

En fin necesito su ayuda para hacer andar un Script que lo que hace es Reiniciar Apache y mySQL cuando el servidor se empiesa a quedar sin memoria...

El Script es el siguiente:

Código:
#!/bin/bash

threshold=90 #percent
total=$(free | grep "Mem:" | awk '{print $2}')
remaining=$(free | grep "Mem:" | awk '{print $4}')
current=$(echo "scale=0;100-$remaining * 100 / $total" | bc -l)

if [ $current -gt $threshold ]
then
      /etc/init.d/httpd stop
      /etc/init.d/mysqld restart
      /etc/init.d/httpd start

      echo "Restarted apache and mysql on `date +'%Y-%m-%d %H:%M:%S'`. RAM utilization at ${current}%" \
      >> /var/log/apache_mysql_restarter.log
fi
Código:
Fuente del Script: krazyworks.com/restart-apache-mysql-when-low-on-memory
He modificado los comandos por los de mi server como veran, pero no logro hacerlo andar, me da el siguiente error:

Código:
: command not foundne 2:
(standard_in) 1: illegal character: ^M
(standard_in) 1: illegal character: ^M
: command not foundne 7:
memoria-baja.sh: line 17: syntax error: unexpected end of file
Alguien puede ayudarme a hacerlo andar ?

Tambien he encontrado este otro scrip que lo que hace es que cuando apache tenga mas de 200 procesos activo, lo mata y lo reinicia, pero no se como usarlo ni si funciona:

Código:
if [ `ps-fu $ USERNAME | awk '/ processname / (x + +) END (print x)'`> 200] then echo "superado" # killall hacer y reiniciar fi
Y este otro:

Código:
[[$ (Ps ax | grep httpd | wc-l)-gt 200]] (& & kill -9 $ (ps ax | grep httpd | awk '(print $ 1;)'); apachectl start;)
Código:
Fuente: unix.com/shell-programming-scripting/35927-need-help-shell-script-restart-apache-when-no-processes-keeps-growing.html?hl=es
-----------------------

Alguien puede ayudarme ? Mil gracias