script para reiniciar un proceso en linux si esta parado

script para reiniciar un proceso en linux si esta parado

En este artículo voy a explicar como crear un script en linux con el que podemos reiniciar o arrancar un proceso que se ha parado.

Esto es una solución cuando ya se ha dado el problema de que un proceso se para.

En mi caso he aplicado este script a una máquina donde está ejecutándose memcache, pero por alguna razón que todavía no he determinado, memcached se para, pero es muy importante que memcached esté siempre corriendo porque las sessiones de usuario se guardan en memcache, así como cierta información que tiene que estar cacheada.

Puedes usar la base de este script para adaptarlo al servicio que sea.

Crear el script para reiniciar el proceso

En una carpeta donde guardes todos los shell script crea el archivo check_proceso.sh

En este ejemplo voy a definir que el servicio que quiero reiniciar es memcached pero puede ser cualquier otro.


#!/bin/bash
RESTART="/etc/init.d/memcached restart"
PGREP="/usr/bin/pgrep"
MEMCACHED="memcached"
# buscamos que exista el proceso
$PGREP ${MEMCACHED}
# sino existe id de proceso y el comando anterior devuelve 0
if [ $? -ne 0 ]
then
# restablecemos memcached y enviamos un email
$RESTART | mail -s "Memcache Restart en bbdd4 `date "+%c"`" support@pedroventura.com
fi

Configurar el script en un cron

Ahora hay que crear una tarea programada para que ejecute de manera constante el script, para ello lo metemos en el crontab.
El cron hay que configurarlo como root porque el script reinicia el proceso y necesita tener privilegios de root.

Ejecuta el siguiente comando

crontab -e

Esto abrirá el editor de texto por defecto. Añade la tarea. En este caso vamos a definir que se ejecute cada 5 minutos.

*/5 * * * *  /bin/sh /root/shell_scripts/check_proceso.sh

Guarda los cambios y ya podrás salir.

Si tienes dudas o preguntas no dudes en dejar un comentario

Tags de búsquedas:

reiniciar un proceso en linux,proceso de scrip,reiniciar proceso linux,ejecutar un servicio linux desde una shell,linux script creación,reiniciar Linux si proceso,reiniciar proceso en linux,reiniciar dispositivos bash script,reiniciar procesos en linux,reiniciar servicio sh,proceso que se reinicia linux,reiniciar un proceso linux foxy proxy,reiniciar un proceso parado,script de comprobación de arranque linux,ubuntu reiniciar squid tarea

Noticias relacionadas »

8 comentarios en script para reiniciar un proceso en linux si esta parado

  1. jorge
    / Responder

    la verdad no me gusto porque se debe pasar el proceso a una variable, seria mejor si se pudiera colocar simplemente el nombre del programa que lo busque y si existe que lo reinicie y listo. Eso si seria mas practico.

  2. Emilio Arenas
    / Responder

    Hola, para confirmar, dices que puede adaptarse a cualquier proceso. Se me para el ventilador/disipador de la cpu pasadas unas horas o en momentos en los que mi sistema requiere mucha memoria (no lo puedo confirmar pero lo parece) ¿Puedo usarlo para revivir el ventilador y que refrigere de nuevo mi chip?

  3. Victor M M M
    / Responder

    me ayudo ya que tenia el mismo problema con el squid

    Gracias, saludos

  4. tonny lopez
    / Responder

    Buenas tardes, tengo virtualizado mi servicio web, pero a veces se detiene y verifico su estado en el servidor con el comando:
    virsh –all este me presenta las maquinas que estan corriendo en ese momento y encuentro que esta corriendo (running). lo unico que siempre tengo que hacer es:

    virsh destroy web y luego virsh start web.
    Es la unica manera que funciona nuevamente. Mi pregunta es si puedo crear un script que me reinicie ese servicio sin necesidad de ser manual, sobre todo los fines de semana?.
    Gracias y atento.

  5. carlos
    / Responder

    Buenas tardes gracias por la info, es de utilidad
    Tengo un pequeno problema, espero que me puedan ayudar.
    Quiero utilizar crontab -e para ejecutar un proceso cada minuto, edito el archivo crontab a travez de la consola, su ubicacion como todos sabemos es /var/spool/cron/crontab/(documento Crontab)
    La linea quedaria asi: */1 * * * * home/(usuario)/Documents/(script).sh
    Y resulta que no se ejecuta, y el script ya lo he probado y funciona bien.
    Gracias por la atencion

  6. carlos
    / Responder

    buenas tardes, gracias por la informacion,

  7. Pingback: Cómo crear un script que vigile el funcionamiento de un proceso | Bokunoshumi

  8. nicolas
    / Responder

    Muy buen contenido

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Invertir en criptomonedas: »

 

Cómo comprar bitcoin

Invertir y comprar Bitcoin y otras altcoins es más fácil de lo que crees.

1) Si sólo quieres comprar Bitcoin, Ethereum o Litecoin como inversión, tu opción es Coinbase

2) Si quieres probar con otras criptomonedas tu opción es Binance

3) Cualquier duda escríbeme con total libertad al formulario de contacto para resolver dudas: https://www.pedroventura.com/contacto/

¡Comparte este artículo! »

  • Pedro (3 días)
    Buenos días Margherita El plugin está obsoleto y ya no…
  • Juan Carlos Díaz (4 días)
    Este grupo de Telegram me ha dado muy buenas señales…
  • Margherita (4 días)
    Hola, tengo un problema con el plugin. Tanto en la…
  • Pablo H (2 semanas)
    Hola Pedro, Muchas gracias por el post, me fue muy…
  • Pedro Ventura (3 semanas)
    Hola Margat Muchísimas gracias por tu comentario, me alegro de…
  • Pedro Ventura (3 semanas)
    Hola Rebeca, Tan sólo se permite 1 dominio por cuenta.…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
Plugin en WordPress para cumplir la ley de cookies española

NUEVA solución que me plantean desde el equipo de https://www.iubenda.com/ es un generador y administrador de política de cookie, dejo...

Cerrar