Debian, utiliser la commande service à la place de /etc/init.d

Bonjour à tous!

En ces temps de vache maigre sur ce blog, je vous propose une petite astuce qui simplifie l’administration sous Debian:

Il y a une commande que je trouve très pratique sur les distributions à base de RedHat c’est la commande « service ». La même qui permet de gérer les services sous debian est « /etc/init.d/… »

Pour ne pas à avoir à taper cette ligne fastidieuse, il vous suffit de créer sous /usr/bin/ le fichier service.

En voici une version très simple:

#!/bin/bash
if [ $# = 0 ]
then
echo "Arguments valides: nom_du_service stop | start | restart | reload | status"
exit 1
else
/etc/init.d/"$1" "$2"
fi

Celle-ci ne permet que d’entrer le service concerné – après tout, c’est ce qu’on lui demande… :D – et ne gère pas les différents retours genre erreurs, messages etc… (exemple pour samba):

service samba restart

Ce script n’est qu’une base et ne gere probablement qu’une partie des multiples services de Debian. Si vous avez quelque chose de plus poussé à me proposer, n’hésitez pas les commentaires sont ouverts ;)

Je vous propose maintenant une version qui gère les différents codes retours (erreurs, messages) à la place de /etc/init.d pour une meilleure intégration du script dans un terminal (pour faire plus beau quoi ;) :

#!/bin/bash
if [[ $1 = "" ]]
then
echo "Usage: service {nom} {controle}"
exit 1
elif [[ $1 != "" ]]
then
CTRLVAR1=`find /etc/init.d/ -name $1 | cut -d / -f4`
if [[ $CTRLVAR1 != $1 ]]
then
echo "$1: service inconnu!"
exit 1
fi
fi
if [[ $2 = "" ]]
then
RESULT=`/etc/init.d/"$1" | cut -d { -f2`
echo "Usage: service $1 {$RESULT"
exit 1
elif [[ $2 != "" ]]
then
CTRLVAR2=`/etc/init.d/$1`
if [[ $CTRLVAR2 == *$2* ]]
then
/etc/init.d/"$1" "$2"
else
RESULT=`/etc/init.d/"$1" | cut -d { -f2`
echo "Usage: service $1 {$RESULT"
fi
fi

Bon, je sais que ce script est a travailler encore (surtout au niveau de grep) mais c’est un début et en plus C’est mon tout premier script en bash que je propose. Syoez indulgent :)

Du meme style :

Laisser un commentaire