OVH Community, your new community space.

Recopilacion de Scripts Interesantes


1Gbps
24/09/2015, 06:42
Gracias colega, el aviso por SMS me lo llevo.

Musica
13/05/2015, 02:49
muy bueno!!! Me gusto el de sobrecarga! me lo llevo

Obseosionado
25/11/2014, 10:12
gracias!!

juanillo
14/11/2009, 22:44
Hola kennysamuerto, añade este script de backup. A mi la verdad es que me es de gran utilidad. Bueno, digamos que por ahora me es de gran "tranquilidad" y que toco madera para que no tenga que ser de "utilidad" ...

Lo tengo trabajando todas las noches desde que lo publicó Peich : )

SCRIPT PARA BACKUP DE LA RELEASE 2

http://foros.ovh.es/showthread.php?p=11450#post11450


Y si a algun alma caritativa le da por hacer el script inverso, el de restauracion, ... que lo cuelgue también ... ; )

kennysamuerto
13/11/2009, 18:32
Con el permiso de sus autores, voy a recopilar scripts interesantes que he ido viendo desde el foro.

Si encontrais o sabeis de algunos mas, los ire agregando.

SCRIPT INFORMA DEL ESTADO DE LA MAQUINA

Este script fue creado y publicado por r0sk.

Fuente Original

Código:
#!/bin/bash

echo "************************ [General] ****************************"
echo " "
echo "  Hora:           " `date '+%m-%d-%y %H:%M:%S'`
echo "  IPs:            " `ifconfig | grep "inet addr:" | cut -f2 -d":" | cut -f1 -d" "`
echo "  Kernel: " `uname -r`
echo " "

echo "************************ [Hardware] ***************************"
echo " "
echo "  Procesador:             " `cat /proc/cpuinfo | grep "model name" | uniq | cut -f2 -d":"`
echo "  Núm.Procesadores:      " `cat /proc/cpuinfo | grep processor | wc -l`
echo " "

echo "*********************** [Memoria RAM] **************************"
echo " "
echo "  Memoria total:  " `free -m | grep Mem | awk '{print $(2)}'` Mb.
echo "  Memoria used:   " `free -m | grep Mem | awk '{print $(3)}'` Mb.
echo "  Memoria free:   " `free -m | grep Mem | awk '{print $(4)}'` Mb.
echo " "

echo "********************** [Memoria SWAP] **************************"
echo " "
echo "  Memoria total:  " `free -m | grep Swap | awk '{print $(2)}'` Mb.
echo "  Memoria used:   " `free -m | grep Swap | awk '{print $(3)}'` Mb.
echo "  Memoria free:   " `free -m | grep Swap | awk '{print $(4)}'` Mb.
echo " "

echo "************************** [More Info] *************************"
echo " "
echo "  Uptime:                 " `uptime | cut -f4 -d" "` días
echo "  Usuarios conectados:    " `w | wc -l`
echo "  Procesos:               " `ps aux | wc -l`
echo "  Carga de procesador:    " `uptime | awk '{print $(NF - 2), $(NF - 1), $NF}'`
echo " "

echo "************************ [LAMP] ********************************"
echo " "
echo "  Procesos MySQL :        " `mysql -N -uuser -ppassword -e "show processlist" | grep -v Sleep | wc -l`
echo "  Procesos Apache:        " `ps aux | grep apache | wc -l`
echo "  Peticiones Apache:      " `netstat -an | grep :80 | wc -l`
echo " "

echo "********************* [Puertos abiertos] ***********************"
echo " "
echo "  (22)   SSH:             " `nmap localhost -p 22 | grep 22 | cut -f2 -d" "`
echo "  (80)   Apache:  " `nmap localhost -p 80 | grep 80 | cut -f2 -d" "`
echo "  (110)  POP3:            " `nmap localhost -p 110 | grep 110 | cut -f2 -d" "`
echo "  (143)  IMAP:            " `nmap localhost -p 143 | grep 143 | cut -f2 -d" "`
echo "  (3306) MySQL:           " `nmap localhost -p 3306 | grep 3306 | cut -f2 -d" "`
echo " "
echo "****************************************************************"
Cron cada hora:

Código:
05      *       *       *       *       /home/user/monitor.sh | /usr/bin/mail -s "Monitor [`/bin/hostname`]" mi@correo.com
SMS Gratuito de Sobrecarga

Creado y publicado por Power, este es un interesantisimo script para que el Google nos mande un SMS a nuestro movil de forma gratuita cuando tenemos uno de nuestros servidores sobrecargados.

Fuente Original

Intro de Power:

Me envía un email para sobrecarga baja.
Y crea un evento en mi Google Calendar si la sobrecarga es mayor.
El Google Calendar lo tengo configurado para que me envíe SMS a la hora de cada evento (sin adelanto).

El script lo he hecho en PHP.

Script:

Código:
newEventEntry();
  $event->content = $gdataCal->newContent($quickAddText);
  $event->quickAdd = $gdataCal->newQuickAdd('true');
  $newEvent = $gdataCal->insertEvent($event);
}

// Comprueba carga
$contenido = file_get_contents("/proc/loadavg");
$matriz = explode(" ", $contenido); // divide con separador espacio
$carga = $matriz[0] + 0;

// Email
if($carga > $nivel_email){
    mail($email, "Alarma de sobrecarga (".$carga.") del servidor ".$servidor, "");
}

// Envento en Google Calendar
if($carga > $nivel_sms){
    $texto = "Alarma de sobrecarga (".$carga.") del servidor ".$servidor;
    $service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; // nombre del servicio de Google Calendar
    $client = Zend_Gdata_ClientLogin::getHttpClient($email,$password,$service);
    
    // Hora y minuto con retardo de 2 minutos
    $hora = date("H");
    $minutos = date("i")+2;

    // Creación del evento en Google Calendar
    createQuickAddEvent($client, $texto." ".$hora.":".$minutos);
}    
?>
Cron para cada 15 minutos:

Código:
*/15 * * * * /root/scripts/alarma_sobrecarga.php >/dev/null 2>&1
Descripcion de Power:

Utiliza las librerías Zend Gdata (http://framework.zend.com/download/gdata/) que instalé siguiendo las indicaciones de las API de Google (http://code.google.com/intl/es-ES/ap...lient_lib.html)
No modifiqué el php.ini ni creé un .htaccess sino que las incluyo mediante un ini_set('include_path', '/root/scripts/ZendGdata/library');

Aunque el servidor sincroniza su hora regularmente mediante NTP, pongo el evento creado en Google Calendar para dentro de dos minutos, por si acaso la hora de Google va adelantada algún minutillo.

SCRIPT PERDIDA CONEXION DEL SERVIDOR

A raiz del script anterior de Power, se aporto que seria interesante lo mismo pero para cuando el servidor este caido. En esto el usuario Itimag nos aporto un script creado por el:

Fuente Original


Código:
newEventEntry();
  $event->content = $gdataCal->newContent($quickAddText);
  $event->quickAdd = $gdataCal->newQuickAdd('true');
  $newEvent = $gdataCal->insertEvent($event);
}
 
function enviasms($cliente,$servidor){
	$texto = "Fallo en el servidor ".$servidor;
 
    // Hora y minuto con retardo de 2 minutos
    $hora = date("H");
    $minutos = date("i")+2;
 
    // Creación del evento en Google Calendar
    createQuickAddEvent($cliente, $texto." ".$hora.":".$minutos);
}
 
 
while(list($k,$v)=each($ips_array)){
	$datos_ip=explode(":",$v);
	if(substr($datos_ip[1],0,4)!="http"){ 
		$link = "http://".$datos_ip[1];
	}
	$churl = @fopen($link,'r'); 
	if (!$churl) {
		echo "El servidor \"".$datos_ip[0]."\" esta Offline\n";
		enviasms($client,$datos_ip[0]);
	}else{
		echo "El servidor \"".$datos_ip[0]."\" esta Online\n";
	} 
}
 
?>
El script funciona en base a lo explicado en el anterior:

Utiliza las librerías Zend Gdata (http://framework.zend.com/download/gdata/) que instalé siguiendo las indicaciones de las API de Google (http://code.google.com/intl/es-ES/ap...lient_lib.html)
No modifiqué el php.ini ni creé un .htaccess sino que las incluyo mediante un ini_set('include_path', '/root/scripts/ZendGdata/library');

Aunque el servidor sincroniza su hora regularmente mediante NTP, pongo el evento creado en Google Calendar para dentro de dos minutos, por si acaso la hora de Google va adelantada algún minutillo.






A medida que encuentre mas, los incluire. Si encontrais mas, podeis ponerlos para añadirlos. Si los autores se sienten molestos por publicar aqui sus scripts, que me lo comuniquen y los quito de inmediato.

Un Saludo