Script stop start status en python
Bonjour a tous,
Je suis débutant en python et je souhaite faire un script en python qui me permet de faire un stop/start/status d'un service sous linux
en shell je sais faire mais pas en python.
en shell
Code:
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
| # prerequis
## Test de l'utilisateur
user=`id -un`
if [ "${user}" != "toto" ]; then
echo "L'utilisateur doit etre toto et non `id -un`\n"; exit 1
fi
## couleur dans le script
rouge="\033[0;31m"
jaune="\033[33;40m"
vert="\033[32m"
turquoise="\033[36;40m"
blanc="\033[37;40m"
## usage
usage () {
echo -e "${jaune}usage :${blanc} monsoft start | stop | status"
exit 0
}
## Test du nombre de parametres
if [ $# -ne 2 ]; then
usage
fi
# declaration des variables
_pid=`ps -ef | grep "mon service" | awk '{print $2}'`
_log="/home/log/monfichier.log"
_soft="/soft/bin/"
fonction start{
#je verifie si le PID existe
#si il existe alors j'informe que le soft est deja demarré
#si pas de PID je demarre le soft
# je verifie la presence du PID
# je verifie dans la log en faisant un grep "start soft " est un grep sur la meme ligne sur la "date et l'heure"
# Si tout OK j'informe que le start est demarré sinon le contraire
} |
Pour le stop et le status c'est un peu le style de commandes
Voila je souhaite faire ça en python quelqu'un pourrait m'aider ou me fournir des pistes ? car je connais pas bien python et je sais pas si c'est possible en python :roll:
D'avance merci
Seb
Script stop start satus en python
Bonjour,
Merci pour votre réponse.
Après quelque recherche, j'ai pu faire ça..finalement c'est pas trop compliqué le python. Mais bon lorsque l'on est habituer avec le shell se mettre au python demande de l’investissent ;)
Ce matin voici ce que j'ai pu faire afin d'avancer sur mon script en python
_______________________________________________________________
Code:
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 41 42 43 44 45 46
| #! /usr/bin/env python
from __future__ import print_function
import sys,os,subprocess
class maclass(object):
__slots__ = ["val"]
def __init__(self, value=''):
self.val = value
def Str(value):
if isinstance(value, list):
return " ".join(value)
if isinstance(value, basestring):
return value
return str(value)
class Expand(object):
@staticmethod
def hash():
return len(sys.argv)-1
## Test du User
step=maclass("user")
user=maclass(os.popen("id -un").read().rstrip("\n"))
if (str(user.val) != "monuser" ):
print("\n Le user doit etre monuser et non "+os.popen("id -un").read().rstrip("\n")+"\n")
exit(1)
## Color
RED=maclass("\033[0;31m")
JAU=maclass("\033[33;40m")
GREEN=maclass("\033[32m")
TURQ=maclass("\033[36;40m")
BLC=maclass("\033[37;40m")
## Help
def usage () :
global JAU
global BLC
print("\n\n\011"+str(JAU.val)+"usage :"+str(BLC.val)+" "+os.popen("basename "+__file__).read().rstrip("\n")+" -a -b")
print("\n\011"+str(JAU.val)+"-a"+str(BLC.val)+"\011Permet de faire un ls")
print("\011"+str(JAU.val)+"-b"+str(BLC.val)+"\011Permet de faire un ps\n")
exit(999)
if (Expand.hash() != 1 ):
usage()
if ( str(sys.argv[1]) == '-a'):
subprocess.call(["ls"],shell=True)
elif ( str(sys.argv[1]) == '-b'):
subprocess.call(["ps","-ef"],shell=True)
else:
usage() |
________________________________________________________________________________________
Par contre j'ai pas encore eu le temps de voir comment faire pour rechercher un mot clé dans un fichier log et comment killer un process.
Seb