Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Schleife für Besitzer Änderung

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.06.2010
    Beiträge
    6

    Schleife für Besitzer Änderung

    Hallo,

    ich habe eine kleines Problem mit meinen Script.

    Ich habe eine Domainliste und eine FTP User liste die abgearbeitet werden soll.

    Die Hauptschleife arbeitet die Domains ab. jetzt möchte ich das zur Domain 1 auch FTP user 1 zugeordnet wird damit chown $ftpuser:root * -R auch richtig funktioniert. so wie ich es jetzt habe geht es logischer weise nicht. Wie müssste ich das ändern? Hat der einer eine idee.

    PHP-Code:
    #!/bin/sh 

    # Domainliste

    DOMAIN_URL[0]="test0.de" 
    DOMAIN_URL[1]="test1.de" 
    DOMAIN_URL[2]="test2.de"  

    FTP USER

    FTPUSER_DATA
    [0]="test0"
    FTPUSER_DATA[1]="test1"
    FTPUSER_DATA[2]="test2" 

    for domain in ${DOMAIN_URL[@]}
      do
      .....
      for 
    ftpuser in ${FTPUSER_DATA[@]}
       do
       
    chown $ftpuser:root * -R
      done
    done 

  2. #2
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Ich würd da einfach nen Zähler nehmen, der für jede weitere Domain erhöht wird.
    PHP-Code:
    #!/bin/sh

    # Domainliste

    DOMAIN_URL[0]="test0.de"
    DOMAIN_URL[1]="test1.de"
    DOMAIN_URL[2]="test2.de"

    # FTP USER

    FTPUSER_DATA[0]="test0"
    FTPUSER_DATA[1]="test1"
    FTPUSER_DATA[2]="test2"

    i=0
    for domain in ${DOMAIN_URL[@]}
      do
      .....
       
    chown ${FTPUSER_DATA[$i]}:root * -R
       
    ((i++))
      
    done 

  3. #3
    Registrierter Benutzer
    Registriert seit
    07.06.2010
    Beiträge
    6
    Super danke das ist der richtige Weg.

    ein kleines Problem taucht aber auf wenn jetzt DOMAIN_URL[1]="test1.de" nicht vorhanden ist wird bekommt DOMAIN_URL[2]="test2.de" FTPUSER_DATA[1]="test1" und das ist ein Problem. wie könnte man das jetzt verhinder das

    [2] immer zu [2] zugewissen wird.

  4. #4
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    So sollte es dann gehen:
    PHP-Code:
    #!/bin/sh

    # Domainliste

    DOMAIN_URL[0]="test0.de"
    DOMAIN_URL[1]="test1.de"
    DOMAIN_URL[2]="test2.de"

    # FTP USER

    FTPUSER_DATA[0]="test0"
    FTPUSER_DATA[1]="test1"
    FTPUSER_DATA[2]="test2"

    i=0
    j
    =0
    while [ $i -lt ${#DOMAIN_URL[*]} ]
    do
        if [ ${
    #DOMAIN_URL[$j]} -gt 0 ]
        
    then
            
    # Ausgabe der aktuellen Domain
            
    echo ${DOMAIN_URL[$j]}
            .....
            
    chown ${FTPUSER_DATA[$i]}:root * -R
            
    ((i++))
        
    fi
        
    ((j++))
    done 
    Habs mal bisserl getestet, scheint so auch mit Lückenhaften Arrays zu funktionieren.
    Geändert von John W (08-06-2010 um 18:41 Uhr)

  5. #5
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Hab den Code korrigiert.

  6. #6
    Registrierter Benutzer
    Registriert seit
    07.06.2010
    Beiträge
    6
    scheind zu funktionieren super dank dir.

  7. #7
    Registrierter Benutzer
    Registriert seit
    07.06.2010
    Beiträge
    6
    gibt doch ein Prob.

    PHP-Code:
    #!/bin/sh
    DOMAIN_URL[0]="test0.de"
    DOMAIN_URL[1]="test1.de"
    DOMAIN_URL[2]="test2.de"
    ##
    ##
    ## FTP BENUTZER VOM KUNDEN
    FTPUSER_DATA[0]="test0"
    FTPUSER_DATA[1]="test1"
    FTPUSER_DATA[2]="test2"

    i=0
    j
    =0
    while [ $i -lt ${#DOMAIN_URL[*]} ]
    do
        if [ ${
    #DOMAIN_URL[$j]} -gt 0 ]
        
    then
            
    echo "---------------------------------------"   
            
    echo "==> Update von der Domain ${DOMAIN_URL[$j]} gestartet"
            
    echo "---------------------------------------"
            
    echo "--" 
            
    echo "---------------------------------------"    
            
    echo "==> Prüfen ob /var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs exsitiert"
            
    if [ -/var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs ]; then 
                
    echo "--"    
                
    echo "==> Verzeichniss exsistiert"
                
    echo "--"          
                
    cd /var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs
                chown 
    ${FTPUSER_DATA[$i]}:root * -R
                
    ((i++))
            else
                echo 
    "--"
                
    echo "==> Verzeichniss exsistiert nicht"
                
    echo "==> Verzeichniss /var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs exsistiert nicht" >> errorlog.log
                
    echo "---------------------------------------" 
                
    echo "==> Update Abgebrochen"
                
    echo "---------------------------------------" 
            
    fi
            
        fi
        
    ((j++))
    done 
    oder habe ich da jetzt was falsch kopiert.

  8. #8
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    ((i++)) muss vor das fi vor dem ((j++)).
    Also
    PHP-Code:
    #!/bin/sh
    DOMAIN_URL[0]="test0.de"
    DOMAIN_URL[1]="test1.de"
    DOMAIN_URL[2]="test2.de"
    ##
    ##
    ## FTP BENUTZER VOM KUNDEN
    FTPUSER_DATA[0]="test0"
    FTPUSER_DATA[1]="test1"
    FTPUSER_DATA[2]="test2"

    i=0
    j
    =0
    while [ $i -lt ${#DOMAIN_URL[*]} ]
    do
        if [ ${
    #DOMAIN_URL[$j]} -gt 0 ]
        
    then
            
    echo "---------------------------------------"
            
    echo "==> Update von der Domain ${DOMAIN_URL[$j]} gestartet"
            
    echo "---------------------------------------"
            
    echo "--"
            
    echo "---------------------------------------"
            
    echo "==> Prüfen ob /var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs exsitiert"
            
    if [ -/var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs ]; then
                
    echo "--"
                
    echo "==> Verzeichniss exsistiert"
                
    echo "--"     
                
    cd /var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs
                chown 
    ${FTPUSER_DATA[$i]}:root * -R
            
    else
                echo 
    "--"
                
    echo "==> Verzeichniss exsistiert nicht"
                
    echo "==> Verzeichniss /var/www/vhosts/${DOMAIN_URL[$j]}/httpdocs exsistiert nicht" >> errorlog.log
                
    echo "---------------------------------------"
                
    echo "==> Update Abgebrochen"
                
    echo "---------------------------------------"
            
    fi
            
    ((i++))
        
    fi
        
    ((j++))
    done 
    -> i wird immer inkrementiert, wenn DOMAIN_URL[$j] Text enthält.

  9. #9
    Registrierter Benutzer
    Registriert seit
    07.06.2010
    Beiträge
    6
    super dank dir. jetzt funktioniert alles

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •