Linux Servis Takip & Autostart

Linux ortamlarında birşeyler koşturuyorsanız bazen servisleriniz size naz yapıyor olabilir. Bu nazlı haller geldiğinde ise servisleri restart edip işimize devam ederiz. Genellikle neden nazlandığını bulamayız. Çok derin inceleme ve araştırma gerekebilir. 🙂

Bunun için servisi takip edip durma durumuna göre hızlıca restart eden scriptler mevcut tabiki. Stackoverflow’da bulduğum örneklerden bir tanesi;

#!/bin/bash
service=SERVICE_NAME

if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running!"
else
/etc/init.d/$service restart
fi

SERVICE_NAME yazısını servisinizin adı olarak değiştirmeniz yeterli. Örnek olarak “httpd” olabilir. Bash script’i kaydedip CRON olarak eklemeniz ve isteğe göre zaman tanımı yapmanız yeterli. Ben genellikle dakikalık periyotları kullanıyorum.

* * * * * sudo sh /home/service_check.sh > /dev/null 2>&1

Linux dağıtımıza göre yetkilendirme işlemleri gerekebilir.  Bu işlemin arkasına web servis veya mail ortamı bağlayıp kendinize de bildirimler gönderebilirsiniz.