Script Perl/Bash para gestionar servicios

  • Categoría: Linux
  • Publicado hace más de 3 años
Era cuestión de tiempo simplemente para que en un entorno de aprendizaje y desarrollo como el que manejo algunas tareas se volvieran sumamente tediosas. Mi HA lab sigue creciendo en Boxes y VMs y yo no paro de meter, sacar, romper, arreglar.  Me puse a pensar cuántas veces por día tipeaba /etc/init.d/algunservicio algun-flag y fue así que me dispuse a escribir algún script que me salvara de ingresar la ruta completa para controlar un servicio. El script debía ser muy sencillo y tendría que permitirme poder acceder al control de los servicios tipeando, por ejemplo, services apache2 restart



 
Las operaciones de control a realizar antes de ejecutar el comando eran nada más que 2:

 
1) El script debía verificar que quien lo ejecutara fuera Root, de otro modo a rootearse.

 2) Además, necesitaba verificar que el servicio pasado como primer flag fuese un archivo existente de hecho en /etc/init.d/





 Lo escribi primero en Perl y luego en Bash para poder agregarlo definitivamente a mi PATH. Mostraré aquí sólo la versión de Bash y los procedimientos para incorporarlo definitivamente al PATH de trabajo. Al final del artículo dejo link a las 2 versiones por si alguien prefiere Perl.



El Script Bash




#!/bin/bash

# Only allow to run script if Root
if [[ $EUID -ne 0 ]];
 then
 echo "Permisos insuficientes. Corra este script como Root!" 1>&2
 exit 1

 else

 #Check if service exists
 if [ -f /etc/init.d/$1 ]
 then
 # We do have a service, lets shoot the Flag (System will give valid options if bad Flag):
 exec /etc/init.d/$1 $2

 else
 #No Service at init.d, return error ...
 echo "El servicio "$1" no existe en /etc/init.d/";
 fi

fi



Escrito y chequeado el Script, me dispuse a agregar la carpeta
/serverscripts (donde planeo ir almacenando scripts de esta clase) al
PATH de Bash.



Cita: Mostrar


Debido a que considero más prolijo definir los PATHS que usaré a futuro sin tocar el archivo .bashrc agregué en el la línea:

 source ~/.mypaths


Guardé cambios y luego cree el archivo en que, en principio, incluiría el directorio /serverscripts a mi PATH de trabajo:

Cita: Mostrar




Al reloguearme, echo $PATH incluía /serverscripts entre los PATHS de trabajo y mi pequeño programa en Bash funcionaba sin problemas con comando de tipo services mysql restart independientemente de donde lo corriera. Un pequeño y sencillo programita que va a ahorrarme mucho tiempo sin duda.
 
Dejo links para descargar en Bash o Perl.

Saludos

Services.sh (Bash)
 Services.pl (Perl)



Script Perl/Bash para gestionar servicios
Script Perl/Bash para gestionar servicios
0 Puntos Score: 0/10
Visitas: 444 Favoritos: 0
1 Comentarios Script Perl/Bash para gestionar servicios
buena la info amigo XD       os probare XD
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!