Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Migration serveur de donné et scripts.
Envoyé par: boulate

Bonjour,

Je viens de me faire embaucher sur un poste d'admin réseau dans un lycée.

Le projet que je dois reprendre en arrivant :
Migrer le serveur de données (qui est actuellement sur le serveur Active directory du domaine) sur un autre serveur.

J'ai donc mit en place un openfiler. Tous les tests sont bons, les utilisateurs sont créés automatiquement sur mon nouveau NAS etc...

Je dois maintenant modifier TOUS les scripts d'active directory (les utilisateurs se loggent sur le domaine), pour leur indiquer que le "net use" de leur répertoire personnel n'est plus sur l'ancien serveur, mais sur le nouveau (en fait, le réseau est fait de tel facon que chaque personne qui se connect via AD lance automatiquement son script de démarrage, dans lequel il est indiqué tous les lecteurs réseau à monter. Il faut juste que je modifie le lecteur réseau se montant sur le serveur actuel, pour le mettre sur le nouveau serveur).

Hors, j'ai plus de 1500 scripts à modifier. Comment faire ?
Je penses bien sur que le plus simple serait de faire un script bash sous unix (j'ai mis mon poste de travail sous linux) qui ouvre chaque fichier.bat, qui localise chaque lecteur monté sous F:\\serveur_actuel (par exemple), et qui le modifie en G:\\serveur_nouveau.

Simplement, je ne suis pas encore compétent en shell script, et, sans bien sur demander à ce qu'on me fasses se script, je voulais juste savoir vers quels commandes m'orienter, et ce qu'il ne faut surtout pas que j'oublie (les pieges à éviter en gros).

J'ai deja lu pas mal de tutos ce matin sur le shell script, mais j'ai peur de me perdre dans des commandes trop compliqués alors que certaines commandes que je n'ai pas forcement assimilé me permettraient peut etre de faire plus simple.

Merci d'avance pour votre aide.

Boulate.

Poste le Thursday 14 December 2006 10:44:16
Répondre     Citer    
Re: Migration serveur de donné et scripts.

Le plus simple à mon avis est un script du genre


for fichier_a_modifier in $( find ./ -name fichier_logon.bat  )
do 
 sed -e 's,chaine_a_remplacer,nouvelle_chaine,' -i $fichier_a_modifier 
done

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Thursday 14 December 2006 11:01:00
Répondre     Citer    
Re: Migration serveur de donné et scripts.
Envoyé par: boulate

Merci pour ce petit script grinning smiley

Il y a en revanche un petit changement, je ne dois pas remplacer une ligne, mais en rajouter une dans chaque fichier (pour ajouter un lecteur réseau aux utilisateurs)

Cette ligne dois contenir le nom du fichier ouvert (car il est le meme que le nom du compte) moins l'extension.

Donc en gros, il doit :

- Trouver le nom du fichier

- Le mettre en varible (du moins, je penses)

- Editer ce fichier, et y ajouter une ligne (je pensais à un simple
Citation

echo "net use b: \\serveur\nom_utilisateur" >> nom_de_fichier

La ou je suis perdu, c'est sur la facon de faire pour lui permettre d'editer les fichiers un par un, en récuperant le nom de fichier pour le mettre sous variable, puis en tronquant le ".bat" de se nom de fichier pour en ressortir le nom d'utilisateur et le mettre sous variable lui aussi.
Je pensais à une boucle simple, mais j'ai peur de faire compliqué alors qu'il y a peut etre beaucoup plus simple.

Poste le Friday 15 December 2006 10:48:24
Répondre     Citer    
Re: Migration serveur de donné et scripts.
Envoyé par: boulate

Personne n'a une idée pour me simplifier cette tache ?

Je résume pour ceux qui n'ont pas le courage de tout relire :

Je cherches juste à modifier un grand nombre de fichiers, pour y ajouter, à la fin, une ligne comprenant un texte, ainsi que le nom du fichier.

Exemple :
Citation
exemple
Editer "fichier1" et mettre à la fin : "ceci est le fichier1"
Editer "fichier2" et mettre à la fin : "ceci est le fichier2"
Editer "fichier3" et mettre à la fin : "ceci est le fichier3"
Editer "fichier4" et mettre à la fin : "ceci est le fichier4"
Editer "fichier5" et mettre à la fin : "ceci est le fichier5"
....

Merci d'avance grinning smiley

Poste le Monday 18 December 2006 18:04:28
Répondre     Citer    
Re: Migration serveur de donné et scripts.

peut-être
for f in fichier*; do
echo "ceci est le fichier $f" >> $f
done

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 18 December 2006 18:11:01
Répondre     Citer    
Re: Migration serveur de donné et scripts.
Envoyé par: boulate

Le probleme (si j'ai bien compris), c'est que "f" suppose que les fichiers aient un point commun parmis leurs noms ... mais les scripts sont en fait aux noms des personnes concernés par ces memes scripts ... donc ils n'ont parfois aucun point communs :s

Donc en fait, pour etre plus clair (désolé si je ne l'ai pas été auparavant), ca donnerais un truc du genre :

Citation

Editer le fichier "Dupont.bat" et mettre à la fin de ce fichier : "ceci est à Dupont"
Editer le fichier "martin.bat" et mettre à la fin de ce fichier : "ceci est à Martin"
Editer le fichier "tartenpion.bat" et mettre à la fin de ce fichier : "ceci est à tartenpion"
etc...

Il y à peut etre une commande toute simple pour ajouter une ligne dans tous les fichiers listables via un "ls *.bat" en ajoutant un simple "echo ceci est à $nom_du_fichier_sans_le_.bat" ... mais je ne sais pas comment faire sad smiley

Poste le Tuesday 19 December 2006 09:07:29
Répondre     Citer    
Re: Migration serveur de donné et scripts.
Envoyé par: boulate

Erreur de ma part ... ca marche ( merci beaucoup Basile).

Seul probleme : quel outil utiliser pour supprimer ce fameux ".bat" à la fin de ma ligne "ceci est dupont.bat" par exemple ...

Je tente avec cut depuis plus de deux heures ... ca ne donne rien ... je suis perdu :s

Poste le Tuesday 19 December 2006 11:06:03
Répondre     Citer    
Re: Migration serveur de donné et scripts.

Essaie
for f in fichier*; do
b=$(basename f)
echo "ceci est le fichier $b" >> $f
done

Et demande à suivre une formation de sysadmin


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Tuesday 19 December 2006 18:10:34
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Migration serveur de donné et scripts.
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons