Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Änderung Sicherungs Script

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Änderung Sicherungs Script

    hallo,

    mein hostanbieter stellt ein sicherungsscript zur verfügung:
    PHP-Code:
    <?
        // PHP-Konfiguration optimieren
        @error_reporting(E_ALL ^ E_WARNING);
        @ini_set("max_execution_time", 300);
        @ini_set("memory_limit", "256M");
        
        // Zu sicherndes Unterverzeichnis. Bleibt leer, wenn gesamter Account gesichert werden soll.
        $verzeichnis = "";
        
        // Auszuschließende Ressourcen
        $ignorieren = array("*.sql.gz", "*.tar.gz", "usage", "logs");

        // PEAR-Klasse einbinden und Archiv erstellen
        $pfad = preg_replace('/(\/www\/htdocs\/\w+\/).*/', '$1', realpath(__FILE__));
        include "Archive/Tar.php";
        $archivname = preg_replace('/.+\/(.+)\/$/', '$1', $pfad).date('_Y-m-d_His').".tar.gz";
        $archiv = new Archive_Tar($archivname, true);
        $archiv->setIgnoreList($ignorieren);
        $archiv->createModify($pfad.$verzeichnis, "", $pfad);
        echo "Backup fertig";
    ?>
    ich möchte das jetzt so ändern, dass ich nur zwei einzelne ordner sichere und nicht das ganze laufwerk. habe es versucht mit
    PHP-Code:
        $verzeichnis "ordner1""ordner2"
    aber das funktioniert leider nicht. vielleicht hat jemand einen tipp für mich?

    lg


  • #2
    Hi,

    aber das funktioniert leider nicht. vielleicht hat jemand einen tipp für mich?
    hast du auch ide Pfade zu den Ordnern korrekt angegeben? funktioniert nicht ist imemr eine etwas dürftige Beschreibung!

    mfg wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      hallo,

      sorry, das ist die fehlermeldung
      Code:
       Parse error: syntax error, unexpected ',' in /www/htdocs/w01187dd/backup/backup.php on line 8
      wenn ich es nur mit ordner1 alleine ausführe funktioniert es

      Kommentar


      • #4
        Ok, ich schätze, du musst das so angeben:

        PHP-Code:
        $verzeichnis = array("ordner1""ordner2"); 
        das steht aber sicherlich auch in der doku deines Providers, wie die Syntax genau ist.

        mfg wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          funktioniert leider auch nicht, das erstellt nur eine leere sicherungs-datei

          Code:
          Notice: Array to string conversion in /www/htdocs/w01187dd/backup/backup.php on line 19
          Backup fertig
          hast du vielleicht noch eine idee? ansonsten muss ich wohl die "hässliche" lösung wählen und für jeden ordner ein eigenes script erstellen

          Kommentar


          • #6
            funktioniert leider auch nicht, das erstellt nur eine leere sicherungs-datei
            Ok, das war jetzt auch nur ne Vermutung von mir! Dann würde ich in der Doku vom Provider nachschauen oder ggf. nachfragen.
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              der provider zeigt sich leider nicht sehr auskunftfreudig
              Hallo Herr XXX,

              vielen Dank für Ihre Anfrage.

              Das Script kann immer nur ein Verzeichnis sichern. Die Angabe mehrerer Verzeichnisse ist nicht möglich. Hier müssten Sie mit den entsprechenden PHP- Kenntnissen das Script ändern.
              einerseits steht, dass die angabe mehrerer verzeichnisse nicht möglich ist, andererseit, dass ich das script dafür ändern soll. was mag jetzt wohl stimmen

              aber gut, nachdem es momentan nur drei ordner sind, werde ich wohl einzelne scripte erstellen

              Kommentar


              • #8
                aber gut, nachdem es momentan nur drei ordner sind, werde ich wohl einzelne scripte erstellen
                Du kannst die 3 Ordner auch einfach in einen Ordner packen (wenn das von deiner Struktur her geht), oder mit einer Schleife arbeiten zum Ordner sichern oder drei einzelne Scripte.

                mfg wolf29
                while (!asleep()) sheep++;

                Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                Kommentar


                • #9
                  meinst du mit einer schleife, dass ich am ende des scripts angebe, dass ein neues script ausgeführt werden soll oder ist das nicht möglich?

                  Kommentar


                  • #10
                    PHP-Code:
                     <?php
                        
                    // PHP-Konfiguration optimieren
                        
                    @error_reporting(E_ALL E_WARNING);
                        @
                    ini_set("max_execution_time"300);
                        @
                    ini_set("memory_limit""256M");
                        
                         
                    $verzeichnisse = array(
                     
                    "ordner1","ordner2"
                     
                    );
                       foreach(
                    $verzeichnisse as $verzeichnis){
                     
                        
                        
                    // Auszuschließende Ressourcen
                        
                    $ignorieren = array("*.sql.gz""*.tar.gz""usage""logs");

                        
                    // PEAR-Klasse einbinden und Archiv erstellen
                        
                    $pfad preg_replace('/(\/www\/htdocs\/\w+\/).*/''$1'realpath(__FILE__));
                        include 
                    "Archive/Tar.php";
                        
                    $archivname preg_replace('/.+\/(.+)\/$/''$1'$pfad).date('_Y-m-d_His').".tar.gz";
                        
                    $archiv = new Archive_Tar($archivnametrue);
                        
                    $archiv->setIgnoreList($ignorieren);
                        
                    $archiv->createModify($pfad.$verzeichnis""$pfad);
                        echo 
                    "Backup fertig für das Verzeichnis: ".$verzeichnis;
                      }
                    ?>
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                    Kommentar


                    • #11
                      hallo,

                      damit sichert er den ordner1 und dann kommt diese meldung
                      Code:
                      Backup fertig für das Verzeichnis: cloud_daten
                      Fatal error: Cannot redeclare class Archive_Tar in /usr/share/php/Archive/Tar.php on line 2420
                      lg

                      Kommentar


                      • #12
                        Zitat von grille01 Beitrag anzeigen
                        hallo,

                        damit sichert er den ordner1 und dann kommt diese meldung
                        Code:
                        Backup fertig für das Verzeichnis: cloud_daten
                        Fatal error: Cannot redeclare class Archive_Tar in /usr/share/php/Archive/Tar.php on line 2420
                        lg

                        PHP-Code:
                         <?php
                            
                        // PHP-Konfiguration optimieren
                            
                        @error_reporting(E_ALL E_WARNING);
                            @
                        ini_set("max_execution_time"300);
                            @
                        ini_set("memory_limit""256M");
                            
                             
                        $verzeichnisse = array(
                         
                        "ordner1","ordner2"
                         
                        );
                            include 
                        "Archive/Tar.php";
                           foreach(
                        $verzeichnisse as $verzeichnis){
                         
                            
                            
                        // Auszuschließende Ressourcen
                            
                        $ignorieren = array("*.sql.gz""*.tar.gz""usage""logs");

                            
                        // PEAR-Klasse einbinden und Archiv erstellen
                            
                        $pfad preg_replace('/(\/www\/htdocs\/\w+\/).*/''$1'realpath(__FILE__));

                            
                        $archivname preg_replace('/.+\/(.+)\/$/''$1'$pfad).date('_Y-m-d_His').".tar.gz";
                            
                        $archiv = new Archive_Tar($archivnametrue);
                            
                        $archiv->setIgnoreList($ignorieren);
                            
                        $archiv->createModify($pfad.$verzeichnis""$pfad);
                            echo 
                        "Backup fertig für das Verzeichnis: ".$verzeichnis;
                          }
                        ?>
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                        Kommentar


                        • #13
                          Ohne die Archvierungsklasse zu kennen vermute ich die Instanzerstellung
                          PHP-Code:
                          $archiv = new Archive_Tar($archivnametrue); 
                          sollte auch vor der Schleife erfolgen.
                          PHP-Klassen auf github

                          Kommentar


                          • #14
                            spitze, jetzt funktioniert es!

                            ist es eventuell möglich, dass das in einer sicherungsdatei zusammenläuft, weil momentan für jeden ordner eine datei erstellt wird?

                            Kommentar


                            • #15
                              Zitat von grille01 Beitrag anzeigen
                              spitze, jetzt funktioniert es!

                              ist es eventuell möglich, dass das in einer sicherungsdatei zusammenläuft, weil momentan für jeden ordner eine datei erstellt wird?
                              PHP-Code:
                              <?php
                                  
                              // PHP-Konfiguration optimieren
                                  
                              @error_reporting(E_ALL E_WARNING);
                                  @
                              ini_set("max_execution_time"300);
                                  @
                              ini_set("memory_limit""256M");
                                  
                                   
                              $verzeichnisse = array(
                               
                              "ordner1","ordner2"
                               
                              );
                                  include 
                              "Archive/Tar.php";
                              // Auszuschließende Ressourcen
                                  
                              $ignorieren = array("*.sql.gz""*.tar.gz""usage""logs");

                                  
                              // PEAR-Klasse einbinden und Archiv erstellen
                                  
                              $pfad preg_replace('/(\/www\/htdocs\/\w+\/).*/''$1'realpath(__FILE__));

                                  
                              $archivname preg_replace('/.+\/(.+)\/$/''$1'$pfad).date('_Y-m-d_His').".tar.gz";
                                  
                              $archiv = new Archive_Tar($archivnametrue);
                                  
                              $archiv->setIgnoreList($ignorieren);
                                 
                              $tarPfade = array();
                                 foreach(
                              $verzeichnisse as $verzeichnis){
                               
                                     
                              $tarPfade[]=$pfad.$verzeichnis;
                                  
                                  
                                }
                              $archiv->createModify($tarPfade""$pfad);

                                  echo 
                              "Backup fertig ";
                              ?>
                              https://github.com/pear/Archive_Tar/...e/Tar.php#L367 gerade gesehen dass man da einfach ein array mit pfaden übergeben kann

                              oder so.. keine Ahnung von php..
                              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                              Kommentar

                              Lädt...
                              X