[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS][bash-CRON] arreter et redémarrer des services via un script



On Friday 01 April 2011 à 11:22:44AM, C. Mourad Jaber wrote:
[snip]
> Faut-il ajouter quelque chose dans le PATH pour que cela puise fonctionner ?
>
> mon script :
> #! /bin/bash
>
> SERVICE="/usr/bin/service"
> $SERVICE mysql stop
> $SERVICE slapd stop
>
> $SERVICE mysql start
> $SERVICE slapd start
>
> J'ai également essayé de mettre /usr/sbin/ et j'ai le même comportement !
>
> Le serveur est en ubuntu server 10.04 (pas taper !).
>
> Merci pour vos lumières !
>
> ++
>
> Mourad

Tu as déjà réglé ton souci, très bien. Mon mail vise à revenir sur ton script.

Malgré le fait qu'on rencontre souvent ce genre de constructions dans les
scripts des autres, mettre des commandes dans des variables et utiliser des
chemins absolus n'a pas beaucoup d'avantages. Par contre, les inconvénients
peuvent être nombreux. Mieux vaut utiliser un PATH correct et faire
simplement :

service mysql stop

Petite remarque subsidiaire, il est déconseillé d'utiliser des noms de
variables composés uniquement de majuscules. Pourquoi ? Parce que les
conventions désignent ce genre de variables comme étant soit des variables
d'environnement soit des variables internes au shell. Ainsi, les modifier
accidentellement peut amener à des comportements erratiques, exemple :

$ PATH=/foo/bar; rm "$PATH"
ksh: rm: not found
$

Ah, et aussi toujours utiliser des guillemets doubles quand on utilise des
variables :

rm $file -> rm "$file"

En espérant que ça serve à quelqu'un.
Bonne soirée.

--
Jérémie Courrèges-Anglas - GPG key : 06A11494

Attachment: pgpUC4k75_AUt.pgp
Description: PGP signature


Reply to: