#1 Le 19/06/2008, à 09:45
- SingingLarvae
Démarre-arrêter Apache : script bash+zenity à améliorer
Bonjour à tous,
Je suis fier de moi : mon premier script bash (avec zenity) qui fonctionne Ce script me sert à démarrer-arrêter-redémarrer Apache et MySQL (je ne les démarre pas en tant que service, mais uniquement lorsque j'en ai besoin).
Mon code est à mon avis TRÈS largement améliorable, d'où ce post ! Une bonne âme charitable pourrait-elle me donner quelques pistes ? Je suis un complet débutant en programmation Bash, mais j'aimerai beaucoup m'améliorer (par la pratique). D'autre part, est-il possible de relancer mon script en cliquant sur l'icone de notification ? (je doute que cela soit possible uniquement avec Zenity, mais sait-on jamais !
Merci par avance,
#! /bin/bash
sudo -k
if [ -e /var/run/apache2.pid ]; then
#BOF Apache en fonctionnement : stopper ou relancer ?
zenity --question --title="Apache en fonctionement" --text="Arrêter Apache ?";
if [ "$?" == 0]; then
# Apache reload
zenity --entry --title="Redémarrer Apache" --text="Mot de passe ?" --hide-text \ | (
zenity --notification --window-icon=update.png --text "System update necessary!"
sudo -S /etc/init.d/apache2 reload
sudo -S /etc/init.d/mysql reload
zenity --notification --window-icon="/home/marc/.bin/apache-on.png" --text "Apache en marche"
)
# Apache stop
else
zenity --entry --title="Arrêter Apache" --text="Mot de passe ?" --hide-text \ | (
sudo -S /etc/init.d/apache2 stop
sudo -S /etc/init.d/mysql stop
zenity --notification --window-icon="/home/marc/.bin/apache-off.png" --text "Apache arrêté"
)
fi
#EOF Apache en fonctionnement
else
#BOF Apache not running
zenity --entry --title="Démarrer Apache" --text="Mot de passe ?" --hide-text \ | (
sudo -S /etc/init.d/apache2 start
sudo -S /etc/init.d/mysql start
zenity --notification --window-icon="/home/marc/.bin/apache-on.png" --text "Apache en marche"
)
#EOF Apache not running
fi
if [ "$?" != 0 ]; then
zenity --error --text="Mot de passe erroné"
return 1
fi
Hors ligne
#2 Le 19/09/2008, à 16:13
- Pierre Roger
Re : Démarre-arrêter Apache : script bash+zenity à améliorer
Bonjour,
Bonjour à tous,
D'autre part, est-il possible de relancer mon script en cliquant sur l'icone de notification ? (je doute que cela soit possible uniquement avec Zenity, mais sait-on jamais !
Félicitations pour ton 1er script qui marche NICKEL chez moi.
Je l'ai mis dans un lanceur et quand je clique une 1ère fois, il démarre apache et mysql
Quand je reclique, il arrête les 2.
Et ainsi de suite....
Donc je ne comprend pas trop ta question pour relancer le script.
Je n'ai pas trouvé sur le net les icônes que tu as utilisées.
Pourrais-tu me les envoyer à kayou_77 ( @ ) yahoo.fr
Lenovo Yoga 2.13
Ubuntu 20.04
Hors ligne
#3 Le 20/09/2008, à 07:12
- n3o51
Re : Démarre-arrêter Apache : script bash+zenity à améliorer
Bonjour
Je ne pourrais pas tester j'ai pas d'interface sur mon server
Dernière modification par n3o51 (Le 20/09/2008, à 07:12)
Welcome to the real world
________________________________
Hors ligne
#4 Le 20/09/2008, à 14:13
- Pierre Roger
Re : Démarre-arrêter Apache : script bash+zenity à améliorer
Bonjour
Je ne pourrais pas tester j'ai pas d'interface sur mon server
Je ne comprend pas bien.
Le script proposé lance Apache et Mysql en local.
Des petits popups apparaissent et demandent si l'on veut démarrer ou arréter Apache suivant l'état du système. Puis il demande le mot de passe. Et c'est tout.
Il me manque juste 2 icônes par rapport au script mais cela ne gène nullement le fonctionnement.
Lenovo Yoga 2.13
Ubuntu 20.04
Hors ligne
#5 Le 21/09/2008, à 10:18
- n3o51
Re : Démarre-arrêter Apache : script bash+zenity à améliorer
Je n'est pas d'interface graphique sur mon server donc je ne pourrais pas etre notifier via zenity ...
Les pops ups ne seront pas vissible pour moi
Welcome to the real world
________________________________
Hors ligne
#6 Le 08/10/2011, à 20:22
- voxpopuli
Re : Démarre-arrêter Apache : script bash+zenity à améliorer
Merci pour ce petit script bien pratique.
Je me permet de le poster sans les icônes (se qui évitera a quelqu'un de devoir télécharger des icônes ou de devoir l'éditer ^^)
#! /bin/bash
sudo -k
if [ -e /var/run/apache2.pid ]; then
#BOF Apache en fonctionnement : stopper ou relancer ?
zenity --question --title="Apache en fonctionement" --text="Arrêter Apache ?";
if [ "$?" == 0]; then
# Apache reload
zenity --entry --title="Redémarrer Apache" --text="Mot de passe ?" --hide-text \ | (
zenity --notification --text "System update necessary!"
sudo -S /etc/init.d/apache2 reload
sudo -S /etc/init.d/mysql reload
zenity --notification --text "Apache en marche"
)
# Apache stop
else
zenity --entry --title="Arrêter Apache" --text="Mot de passe ?" --hide-text \ | (
sudo -S /etc/init.d/apache2 stop
sudo -S /etc/init.d/mysql stop
zenity --notification --text "Apache arrêté"
)
fi
#EOF Apache en fonctionnement
else
#BOF Apache not running
zenity --entry --title="Démarrer Apache" --text="Mot de passe ?" --hide-text \ | (
sudo -S /etc/init.d/apache2 start
sudo -S /etc/init.d/mysql start
zenity --notification --text "Apache en marche"
)
#EOF Apache not running
fi
if [ "$?" != 0 ]; then
zenity --error --text="Mot de passe erroné"
return 1
fi
(sujet trouvé via google)
Dernière modification par voxpopuli (Le 08/10/2011, à 20:23)
« Si la destinée ne nous aide pas, nous l'aiderons nous même à se réaliser ! »
$Wold.Action.Boot();
Hors ligne
#7 Le 09/10/2011, à 09:23
- alex2423
Re : Démarre-arrêter Apache : script bash+zenity à améliorer
n3o51 a écrit :Bonjour
Je ne pourrais pas tester j'ai pas d'interface sur mon server
Je ne comprend pas bien.
Le script proposé lance Apache et Mysql en local.
Des petits popups apparaissent et demandent si l'on veut démarrer ou arréter Apache suivant l'état du système. Puis il demande le mot de passe. Et c'est tout.
@n3o51, Le script de SingingLarvae est surtout pratique pour une utilisation en local, d'être ultra réactif pour arréter de démarrer/arréter d'un simple click sur son poste client. Pour une utilisation sur un serveur local ou pas, l'utilisation de ce type de script.
@n3o51, c'est pour cette raison que Pierre Roger t'a fait répéter 2 ème fois. En général sur son poste client, on a une interface graphique
Hors ligne