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.