Nouvelles features :
* possibilit de regarder le liste des services redmarrer (--list) * supression des services (--remove) * aide (-h, --help) darcs-hash:20041009160835-41617-cd84ec98395bf8dd116b361f8c91206ddb04f9a7.gz
This commit is contained in:
parent
611b9c8061
commit
5334084d8d
1 changed files with 36 additions and 8 deletions
|
@ -1,16 +1,34 @@
|
|||
#! /usr/bin/env python
|
||||
# -*- coding: iso-8859-15 -*-
|
||||
# -*- coding: iso-8859-15 -*-
|
||||
|
||||
# Copyright (C) Frédéric Pauget
|
||||
# Licence : GPLv2
|
||||
|
||||
"""Ce script permet de lancer la reconfiguration des divers services
|
||||
|
||||
Usage: %(prog)s options
|
||||
Les options possibles sont :
|
||||
\t%(options)s
|
||||
Les options avec = doivent être suivies d'un argument. Plusieurs
|
||||
arguments peuvent être founis pour une même option, les séparer par &
|
||||
"""
|
||||
|
||||
import sys, signal, os, commands, getopt, smtplib, shutil
|
||||
|
||||
sys.path.append('/usr/scripts/gestion')
|
||||
|
||||
from ldap_crans import crans_ldap, crans, smtpserv
|
||||
from ldap_crans import crans_ldap, crans, smtpserv, hostname
|
||||
from lock import *
|
||||
from affich_tools import anim, cprint, OK, ERREUR, WARNING
|
||||
from time import localtime, strftime
|
||||
import config
|
||||
|
||||
args_autorises = ['quiet', 'remove=', 'list' ,'help']
|
||||
if hostname == 'zamok' :
|
||||
args_autorises += [ 'home=', 'mail_bienvenue=', 'ML-ENS=', 'droits', 'switch=' , 'dhcp', 'dns', 'firewall' , 'del_user=']
|
||||
elif hostname == 'nectaris' :
|
||||
args_autorises += [ 'conf_wifi', 'bornes_wifi=' , 'droits-nectaris']
|
||||
|
||||
# On vérifie que l'on est root
|
||||
if os.getuid() != 0:
|
||||
sys.stderr.write("Il faut être root\n")
|
||||
|
@ -24,7 +42,7 @@ make_lock('auto_generate',0)
|
|||
##### Options fournies ?
|
||||
try :
|
||||
if len(sys.argv) > 1 :
|
||||
options, arg = getopt.getopt(sys.argv[1:], '', ['quiet', 'home=', 'mail_bienvenue=', 'ML-ENS=', 'droits', 'switch=' , 'dhcp', 'dns', 'firewall', 'conf_wifi', 'bornes_wifi=' , 'del_user=', 'droits-nectaris'])
|
||||
options, arg = getopt.getopt(sys.argv[1:], 'h', args_autorises)
|
||||
else :
|
||||
options, arg = ( [],'')
|
||||
except getopt.error, msg :
|
||||
|
@ -37,8 +55,20 @@ to_do = {}
|
|||
for opt, val in options :
|
||||
if opt == '--quiet' :
|
||||
debug = 0
|
||||
elif opt == '--remove' :
|
||||
for serv in val.split('&') :
|
||||
print 'Supression de %s' % serv
|
||||
db.services_to_restart('-%s' % serv)
|
||||
sys.exit(0)
|
||||
elif opt == '--list' :
|
||||
print 'Services à redémarrer :'
|
||||
print db.services_to_restart()
|
||||
sys.exit(0)
|
||||
elif opt =='-h' or opt == '--help' :
|
||||
print __doc__ % { 'prog' : sys.argv[0].split('/')[-1] , 'options' : '\n\t'.join(args_autorises) }
|
||||
sys.exit(0)
|
||||
elif len(opt)>2 and opt[:2]=='--' :
|
||||
to_do[opt[2:]] = val.split('.')
|
||||
to_do[opt[2:]] = val.split('&')
|
||||
|
||||
##### Lecture de la base LDAP si besion ce qu'il y a a faire et préparation
|
||||
if not to_do :
|
||||
|
@ -49,11 +79,9 @@ else :
|
|||
auto = 0
|
||||
if debug : print 'Services à redémarrer imposés (non lecture de la base LDAP)'
|
||||
|
||||
from socket import gethostname
|
||||
|
||||
inst = []
|
||||
|
||||
if gethostname().split(".")[0] == 'zamok':
|
||||
if hostname == 'zamok':
|
||||
if 'del_user' in to_do.keys() :
|
||||
if auto : db.services_to_restart('-del_user')
|
||||
cprint('Archivage fichiers utilisateur','gras')
|
||||
|
@ -248,7 +276,7 @@ if gethostname().split(".")[0] == 'zamok':
|
|||
if auto : db.services_to_restart('%s' % i[1])
|
||||
sys.stdout.write('Erreur dans la config de %s.\n' % i[1])
|
||||
|
||||
elif gethostname().split(".")[0] == 'nectaris':
|
||||
elif hostname == 'nectaris':
|
||||
# On s'occupe de nectaris
|
||||
if 'conf_wifi' in to_do.keys():
|
||||
if auto : db.services_to_restart('-conf_wifi')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue