IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Création et modification d'un fichier de configuration par script


Sujet :

Scripts/Batch

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2018
    Messages : 1
    Par défaut Création et modification d'un fichier de configuration par script
    Bonjour,
    Je viens vers vous aujourd’hui pour la première fois car je me retrouve face à une problématique à laquelle je ne trouve aucune solution, après plusieures heures de recherche.

    Dans le cadre d'une modification des fichiers de configuration de Site Web, l'Administrateur Réseaux de mon entreprise m'a demander de mettre en place un Script Batch permettant la modification des fichiers de configuration d'environ 100 Sites Web, empêchant ainsi une modification manuelle sur chacun d'eux.

    Les fichiers se présentent sous le nom : sitewebnumero1.com.conf

    La configuration de celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <VirtualHost *:80>
    ServerName sitewebnumero1.com
    ErrorLog /var/log/apache2/sitewebnumero1.com.error.log
    CustomLog /var/log/apache2/sitewebnumero1.com.access.log combined
    RedirectMatch 301 (.*) http://www.sitewebnumero1.com$1
    php_admin_flag engine on
    php_admin_value open_basedir "/var/www/locam/sitewebnumero1.com/:/tmp"
    </Virtualhost>
    Voilà, mon dossier possède une centaine de fichiers comme celui-ci. Le but de l'écriture de mon script serait d'automatiser la création d'un fichier nommé (dans ce cas d'exemple) :

    www.sitewebnumero1.com.conf

    avec la configuration suivante (le script crée la configuration du second fichier en fonction du contenu du premier fichier sitewebnumero1.com.conf) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <VirtualHost *:80>
    ServerAdmin contact@sitewebnumero1.com
    DocumentRoot /var/www/locam/sitewebnumero1.com
    ServerName www.sitewebnumero1.com
    ErrorLog /var/log/apache2/sitewebnumero1.error.log
    CustomLog /var/log/apache2/sitewebnumero1.com.access.log combined
    php_admin_flag engine on
    php_admin_value open_basedir "/var/www/locam/sitewebnumero1.com/:/tmp"
    
    ProxyRequests Off
    <Proxy *>
      Order deny,allow
      Allow from all
    </Proxy>
    
    ProxyPass / http://www.sitewebnumero1.com/
    ProxyPassReverse / http://www.sitewebnumero1.com/
    </Virtualhost>
    Voilà. Après l’exécution du script, je doit me retrouver avec mes deux fichiers (www.sitewebnumero1.com.conf) ; (sitewebnumero1.com.conf) ; et leur configuration décrites-ci dessus respectives.

    Que dois-je faire pour automatiser un maximum cette création/modification de fichier ? Créer un script qui reprends les lignes principales et finir de les remplir manuellement ? J'avoues être perdu.. je viens tout juste de voir comment créer un script PHP pour afficher une suite de nombres !

    Je vous demandes votre aide car je me retrouve bloquer face à la demande et je ne sais par ou débuter, ayant très rarement coder ! Je peux vous communiquer des info. supplémentaires si besoin, et je suis ouvert sur tout type de pistes qui me permettrait de savoir comment réaliser mon script.

    Merci d'avance de consacrer de votre temps a ma problématique !

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    En supposant que tes fichiers de config se trouvent sur le bureau dans un dossier nommé "sites", ça donnerait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    @echo off
    setlocal enableextensions enabledelayedexpansion
    
    cd /d %USERPROFILE%\Desktop\sites || exit /b 1
    
    for /f "delims=" %%A in ('2^>nul dir /b /a-d "*.conf"') do (call :config "%%~A")
    
    exit
    
    :config
    set file=www.%~1
    
    echo ^<VirtualHost *:80^> > !file!
    echo ServerAdmin contact@%~n1 >> !file!
    echo DocumentRoot /var/www/locam/%~n1 >> !file!
    echo ServerName www.%~n1 >> !file!
    echo ErrorLog /var/log/apache2/%~n1.error.log >> !file!
    echo CustomLog /var/log/apache2/%~n1.access.log combined >> !file!
    echo php_admin_flag engine on >> !file!
    echo php_admin_value open_basedir "/var/www/locam/%~n1/:/tmp" >> !file!
    echo. >> !file!
    echo ProxyRequests Off >> !file!
    echo ^<Proxy *^> >> !file!
    echo   Order deny,allow >> !file!
    echo   Allow from all >> !file!
    echo ^</Proxy^> >> !file!
    echo. >> !file!
    echo ProxyPass / http://www.%~n1/ >> !file!
    echo ProxyPassReverse / http://www.%~n1/ >> !file!
    echo ^</Virtualhost^> >> !file!
    
    goto :eof
    
    rem
    Tiens-moi au courant si tu veux des explications ou des modifs.

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/07/2009, 16h34
  2. [PHP 5.2] Création ou modification d'un fichier XML
    Par kOrt3x dans le forum Langage
    Réponses: 16
    Dernier message: 16/06/2009, 09h36
  3. Création ou modification d'un fichier XML par PHP
    Par kOrt3x dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 15/06/2009, 12h36
  4. Script Batch : Variable d'environnement dans un fichier "ordinaire"
    Par falcon dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 06/05/2008, 15h54
  5. script batch - récupération d'un nom de fichier
    Par persam dans le forum Windows
    Réponses: 1
    Dernier message: 19/07/2007, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo