Créer des scritps d’administration en Python

Lain m’a demandé un jour de lui écrire quelques scripts d’administration en Python pour ses serveurs. Voici une partie du résultat.

Une base pour tous les scripts

Quelques points communs de mes scripts d’administration :

  • Peuvent afficher la syntaxe d’utilisation du script
  • Peuvent souvent prendre des options et des paramètres à l’appel du script

Nous allons donc prévoir dans notre base de départ ces différentes fonctionnalités.

Base de travail

Testez ce petit script qui vous montrera le passage d’arguments dans la ligne de commandes et l’affichage de la documentation python pour le script.

!/usr/bin/env python
#-*-coding: utf-8 -*-

'''Script d'administration en Python
Usage : python nomDuScript.py [options] [paramètres]

Options :
-h --help aide.....
-s --source= suivi du nom de fichier source .......
-c --cible= suivi du nom de fichier cible
-r récursif

Exemples :
.....
'''
import getopt
import sys


def usage():
    print __doc__

def main(argv):
    recur = 0
    source = "./"
    cible = "./"
    try:
        opts, args = getopt.getopt(argv, "hs:c:r", ["help", "source=","cible="])
    except getopt.GetoptError:
        usage()                       
        sys.exit(2)
    for opt, arg in opts:             
        if opt in ("-h", "--help"):   
            usage()                   
            sys.exit()                
        elif opt == '-r':             
            recur = 1                
        elif opt in ("-s", "--source"):
            source = arg
        elif opt in ("-c", "--cible"):
            cible = arg
             
    print "recursif : ",recur
    print "source : ",source
    print "cible : ",cible

if __name__ == "__main__":
    main(sys.argv[1:])

C’est tout pour le moment.

Laisser un commentaire