Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile 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,

SingingLarvae a écrit :

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 big_smile

Je ne pourrais pas tester j'ai pas d'interface sur mon server sad

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

n3o51 a écrit :

Bonjour big_smile

Je ne pourrais pas tester j'ai pas d'interface sur mon server sad

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

Pierre Roger a écrit :
n3o51 a écrit :

Bonjour big_smile

Je ne pourrais pas tester j'ai pas d'interface sur mon server sad

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 smile

Hors ligne