Service v2
Posted in Linux, Servidor, utilidades on Agosto 7th, 2009 by admin – Be the first to commentLa verdad me ha resultado muy útil el script del “service” así que lo he modificado para agregarle un detalle, con esta nueva modificación se pueden iniciar varios servicios en una sola linea por ejemplo:
service apache2 mysql ssh start
En este caso estamos iniciando el servidor apache, mysql y el ssh todo en una linea.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #! /bin/bash nparam=$# if [ $nparam -lt 2 ]; then echo "Faltan parametros, por los menos debe especificar un servicio (/etc/init.d/) y una accion (start, stop, status, restart)" fi nserv=$(($nparam - 1)) IFS=',' for ((i=1; i<=$nserv; i++)); do service=`echo "$*"| cut -d ',' -f $i` ls /etc/init.d/$service > /dev/null 2> /dev/null if [ $? -gt 0 ]; then echo "El servicio $service no existe" exit fi done action=`echo "$*"|cut -d ',' -f $(($nserv + 1))` for ((i=1;i<=$nserv;i++)); do service=`echo "$*"| cut -d ',' -f $i` echo $service sudo /etc/init.d/$service $action done |
El único problema que encontré fue para listar los parámetros que estoy usando un “for” y:
service=`echo "$*"| cut -d ',' -f $i`
Si alguien conoce una forma mas elegante por favor avise.
Esto lo probé en Ubuntu 8.04.
