Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. TESTER gesucht / Backup auf Fritz.nas - node 18.18.0

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

TESTER gesucht / Backup auf Fritz.nas - node 18.18.0

Geplant Angeheftet Gesperrt Verschoben Tester
204 Beiträge 10 Kommentatoren 29.8k Aufrufe 13 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F fastfoot

    hier das Skript für diejenigen die testen wollen

    • das Skript läuft nur auf Linux Systemen
    • das Skript ist für die cifs Verbindung zur Fritz Box konzipiert
      • für andere Systeme kann der mount-Befehl aus dem LOG des backitup Adapters gelesen werden
    • LXC Container benötigen für cifs den Privileged Mode
    • Docker Container benötigen Privileged Mode oder
      • cap_add:
        • SYS_ADMIN
        • DAC_READ_SEARCH

    Kleine Anleitung zur Erstellung und Aufruf

    • Das Skript muss in /opt/iobroker erstellt werden, wegen der Pfade
    • Der Name ist egal, z.B. cifs_test.js, die Endung .js ist wichtig
    • Die Einstellungen in den Zeilen 33-37 vornehmen
    • Aufruf von der Konsole in /opt/iobroker mit node cifs_test
    • umount und mount erfolgen im Skript

    "use strict";
    /**
     * Name:    cifs.js
     * Zweck:   Dient ausschliesslich dem Test von Fehlern im Zusammenhang mit
     *          cifs(smb) mit Fritz Box, Node >= 18.18.0 und BackitUp-Adapter
     *          bzw. iobroker-cli(iob backup)
     * Datum:   2023-10-08
     * Author:  @fastfoot
     * Forum:   https://forum.iobroker.net/post/1054910
     */
    
    const fs_extra_1 = require("fs-extra");
    const path_1 = require("path");
    const promisify_child_process_1 = require("promisify-child-process");
    const { pipeline } = require("node:stream/promises");
    const tar_1 = require("tar");
    const zlib = require("node:zlib");
    const os = require("os");
    const { exit } = require("process");
    const { createWriteStream } = require("fs");
    if (os.platform != "linux") {
      console.log("This script can only work under Linux OS, terminating now...");
      exit(1);
    }
    
    //
    //                                 fixe Einstellungen, möglichst nicht ändern
    //
    const tmpDir = "/opt/iobroker/node_modules"; // simuliert den tmp Ordner des Backitup-Adapters, NICHT ändern!
    const targetDir = "/opt/iobroker/backups"; // Standard Ordner für Backup Dateien, NICHT ändern!
    const fritzNasShare = "//fritz.box/fritz.nas"; // Standard Share der FritzBox, NICHT ändern!
    
    //
    //                                 Einstellungen
    //
    const fritzNasDir = "Backup"; // Individueller Ordner des Fritz!NAS
    const fritzPasswd = "iobrokertest"; // Passwort
    const fritzUser = "iobroker"; // User
    const fritzSMBVers = "3.1.1"; // gültige SMB Version ("1.0","2.0","3.0","3.0.2","3.1.1")oder ""
    const noserverinoOpt = true; // Verwendung noserverino Option true/false
    //
    //                                           Ab hier Finger weg!
    //
    const umountCmd = `sudo umount ${targetDir}`;
    const mountCmd = `sudo mount -t cifs -o username=${fritzUser},password=${fritzPasswd}${
      noserverinoOpt ? ",noserverino" : ""
    },rw,file_mode=0777,dir_mode=0777${
      fritzSMBVers ? ",vers=3.1.1" : ""
    } ${fritzNasShare}/${fritzNasDir} ${targetDir}`;
    
    test();
    
    async function test() {
      console.log("Copy output from below \n\n```");
      try {
        const { stdout } = await promisify_child_process_1.exec(umountCmd);
        console.log(`${targetDir} unmounted`);
      } catch (e) {
        console.log("umount not possible");
      }
      try {
        await promisify_child_process_1.exec(mountCmd);
        console.log(`${fritzNasShare}/${fritzNasDir} mounted into ${targetDir}\n`);
      } catch (e) {
        console.log("mount not possible: " + e + "\n");
      }
      try {
        let res1 = await alternative2(`test_pipeline_compressed_tar.tar.gz`, true);
        console.log(`file ${res1} done`);
        await countFilesInTar(res1);
    
        res1 = await alternative3(`test_pipeline_compressed_zlib.tar.gz`, false);
        console.log(`file ${res1} done`);
        await countFilesInTar(res1);
    
        res1 = await alternative4(`test_pipeline_uncompressed.tar`, false);
        console.log(`file ${res1} done`);
        await countFilesInTar(res1);
    
    
        const { stdout } = await promisify_child_process_1.exec(
          `ls -lt ${targetDir}/test_*`
        );
        console.log(`listing of created files in ${targetDir}\n` + stdout);
      } catch (e) {
        console.log(e);
      }
      console.error("```\n\nEnd of output to copy");
    }
    /*
    function standard(name, compression) {
      return new Promise((resolve, reject) => {
        const f = fs_extra_1.createWriteStream(`${targetDir}/${name}`);
        f.on("finish", () => {
          resolve(path_1.normalize(name));
        });
        f.on("error", (e) => {
          console.error("error! : " + e);
          reject("Fehler im Stream");
        });
        try {
          tar_1
            .create({ gzip: compression, cwd: `${tmpDir}/` }, [
              "iobroker.js-controller",
            ])
            .pipe(f);
          console.log(`file ${name} created`);
        } catch (e) {
          console.error("error! : " + e);
          reject(e);
        }
      });
    }
    
    function alternative(name, compression = true) {
      return new Promise((resolve, reject) => {
        try {
          tar_1
            .create(
              {
                //file: `${targetDir}/${name}`,
                file: `${name}`,
                gzip: compression,
                cwd: `${tmpDir}/`,
              },
              ["iobroker.js-controller"]
            )
            .then(async () => {
              await promisify_child_process_1.exec(`mv ${name} ${targetDir}`);
              console.log(`file ${name} created`);
              resolve(path_1.normalize(name));
            });
        } catch (e) {
          console.error("error! : " + e);
          reject(e);
        }
      });
    }
    */
    function alternative2(name, compression = true) {
      return new Promise(async (resolve, reject) => {
        try {
          await pipeline(
            tar_1.create(
              {
                gzip: compression,
                cwd: `${tmpDir}/`,
              },
              ["iobroker.js-controller"]
            ),
            //zlib.createGzip(),
            fs_extra_1.createWriteStream(`${targetDir}/${name}`),
          );
          console.log(`file ${name} created`);
          resolve(name);
        } catch (e) {
          console.error("error! : " + e);
          reject(e);
        }
      });
    }
    
    function alternative3(name, compression = true) {
      return new Promise(async (resolve, reject) => {
        try {
          await pipeline(
            tar_1.create(
              {
                gzip: compression,
                cwd: `${tmpDir}/`,
              },
              ["iobroker.js-controller"]
            ),
            zlib.createGzip(),
            fs_extra_1.createWriteStream(`${targetDir}/${name}`),
          );
          console.log(`file ${name} created`);
          resolve(name);
        } catch (e) {
          console.error("error! : " + e);
          reject(e);
        }
      });
    }
    
    function alternative4(name, compression = true) {
      const { pipeline } = require("node:stream/promises");
    
      return new Promise(async (resolve, reject) => {
        //const f = fs_extra_1.createWriteStream(`${targetDir}/${name}`);
        //f.on("finish", () => {
        //  resolve(path_1.normalize(name));
        //});
        //f.on("error", (e) => {
        //  console.error("error! : " + e);
        //  reject("Fehler im Stream");
        //});
        try {
          await pipeline(
            tar_1.create(
              {
                //file: `${targetDir}/${name}`,
                //file: `${name}`,
                gzip: compression,
                cwd: `${tmpDir}/`,
              },
              ["iobroker.js-controller"]
            ),
            //zlib.createGzip(),
            fs_extra_1.createWriteStream(`${targetDir}/${name}`),
          );
          console.log(`file ${name} created`);
          resolve(name);
        } catch (e) {
          console.error("error! : " + e);
          reject(e);
        }
      });
    }
    
    async function countFilesInTar(name) {
      let { stdout } = await promisify_child_process_1.exec(
        `tar -tf ${targetDir}/${name}|wc -l`
      );
      console.log(`number of files in ${name}: ${stdout}`);
    }
    

    Bei Fagen, fragen!

    R Offline
    R Offline
    Radi
    schrieb am zuletzt editiert von Radi
    #24

    @fastfoot sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

    node cifs_test

    Hier mal die Ausgabe deines Testscripts auf meinem System:

    /opt/iobroker/backups unmounted
    //192.168.69.254/fritz.nas/Volume/backup2 mounted into /opt/iobroker/backups
    
    file test_standard.tar.gz created
    file test_standard.tar.gz done
    number of files in test_standard.tar.gz: 0
    
    file test_nocompression.tar created
    file test_nocompression.tar done
    number of files in test_nocompression.tar: 5
    
    file test_alternative.tar.gz created
    file test_alternative.tar.gz done
    number of files in test_alternative.tar.gz: 0
    
    listing of created files in /opt/iobroker/backups
    -rwxrwxrwx 1 root root  16384  4. Okt 09:01 /opt/iobroker/backups/test_alternative.tar.gz
    -rwxrwxrwx 1 root root 251392  4. Okt 09:01 /opt/iobroker/backups/test_nocompression.tar
    -rwxrwxrwx 1 root root  16394  4. Okt 09:01 /opt/iobroker/backups/test_standard.tar.gz
    
    

    End of output to copy

    Ich hoffe, es hilft weiter, den Fehler einzugrenzen.

    Achtung, habe den Artikel noch mal bearbeitet.

    F 1 Antwort Letzte Antwort
    0
    • F fastfoot

      hier das Skript für diejenigen die testen wollen

      • das Skript läuft nur auf Linux Systemen
      • das Skript ist für die cifs Verbindung zur Fritz Box konzipiert
        • für andere Systeme kann der mount-Befehl aus dem LOG des backitup Adapters gelesen werden
      • LXC Container benötigen für cifs den Privileged Mode
      • Docker Container benötigen Privileged Mode oder
        • cap_add:
          • SYS_ADMIN
          • DAC_READ_SEARCH

      Kleine Anleitung zur Erstellung und Aufruf

      • Das Skript muss in /opt/iobroker erstellt werden, wegen der Pfade
      • Der Name ist egal, z.B. cifs_test.js, die Endung .js ist wichtig
      • Die Einstellungen in den Zeilen 33-37 vornehmen
      • Aufruf von der Konsole in /opt/iobroker mit node cifs_test
      • umount und mount erfolgen im Skript

      "use strict";
      /**
       * Name:    cifs.js
       * Zweck:   Dient ausschliesslich dem Test von Fehlern im Zusammenhang mit
       *          cifs(smb) mit Fritz Box, Node >= 18.18.0 und BackitUp-Adapter
       *          bzw. iobroker-cli(iob backup)
       * Datum:   2023-10-08
       * Author:  @fastfoot
       * Forum:   https://forum.iobroker.net/post/1054910
       */
      
      const fs_extra_1 = require("fs-extra");
      const path_1 = require("path");
      const promisify_child_process_1 = require("promisify-child-process");
      const { pipeline } = require("node:stream/promises");
      const tar_1 = require("tar");
      const zlib = require("node:zlib");
      const os = require("os");
      const { exit } = require("process");
      const { createWriteStream } = require("fs");
      if (os.platform != "linux") {
        console.log("This script can only work under Linux OS, terminating now...");
        exit(1);
      }
      
      //
      //                                 fixe Einstellungen, möglichst nicht ändern
      //
      const tmpDir = "/opt/iobroker/node_modules"; // simuliert den tmp Ordner des Backitup-Adapters, NICHT ändern!
      const targetDir = "/opt/iobroker/backups"; // Standard Ordner für Backup Dateien, NICHT ändern!
      const fritzNasShare = "//fritz.box/fritz.nas"; // Standard Share der FritzBox, NICHT ändern!
      
      //
      //                                 Einstellungen
      //
      const fritzNasDir = "Backup"; // Individueller Ordner des Fritz!NAS
      const fritzPasswd = "iobrokertest"; // Passwort
      const fritzUser = "iobroker"; // User
      const fritzSMBVers = "3.1.1"; // gültige SMB Version ("1.0","2.0","3.0","3.0.2","3.1.1")oder ""
      const noserverinoOpt = true; // Verwendung noserverino Option true/false
      //
      //                                           Ab hier Finger weg!
      //
      const umountCmd = `sudo umount ${targetDir}`;
      const mountCmd = `sudo mount -t cifs -o username=${fritzUser},password=${fritzPasswd}${
        noserverinoOpt ? ",noserverino" : ""
      },rw,file_mode=0777,dir_mode=0777${
        fritzSMBVers ? ",vers=3.1.1" : ""
      } ${fritzNasShare}/${fritzNasDir} ${targetDir}`;
      
      test();
      
      async function test() {
        console.log("Copy output from below \n\n```");
        try {
          const { stdout } = await promisify_child_process_1.exec(umountCmd);
          console.log(`${targetDir} unmounted`);
        } catch (e) {
          console.log("umount not possible");
        }
        try {
          await promisify_child_process_1.exec(mountCmd);
          console.log(`${fritzNasShare}/${fritzNasDir} mounted into ${targetDir}\n`);
        } catch (e) {
          console.log("mount not possible: " + e + "\n");
        }
        try {
          let res1 = await alternative2(`test_pipeline_compressed_tar.tar.gz`, true);
          console.log(`file ${res1} done`);
          await countFilesInTar(res1);
      
          res1 = await alternative3(`test_pipeline_compressed_zlib.tar.gz`, false);
          console.log(`file ${res1} done`);
          await countFilesInTar(res1);
      
          res1 = await alternative4(`test_pipeline_uncompressed.tar`, false);
          console.log(`file ${res1} done`);
          await countFilesInTar(res1);
      
      
          const { stdout } = await promisify_child_process_1.exec(
            `ls -lt ${targetDir}/test_*`
          );
          console.log(`listing of created files in ${targetDir}\n` + stdout);
        } catch (e) {
          console.log(e);
        }
        console.error("```\n\nEnd of output to copy");
      }
      /*
      function standard(name, compression) {
        return new Promise((resolve, reject) => {
          const f = fs_extra_1.createWriteStream(`${targetDir}/${name}`);
          f.on("finish", () => {
            resolve(path_1.normalize(name));
          });
          f.on("error", (e) => {
            console.error("error! : " + e);
            reject("Fehler im Stream");
          });
          try {
            tar_1
              .create({ gzip: compression, cwd: `${tmpDir}/` }, [
                "iobroker.js-controller",
              ])
              .pipe(f);
            console.log(`file ${name} created`);
          } catch (e) {
            console.error("error! : " + e);
            reject(e);
          }
        });
      }
      
      function alternative(name, compression = true) {
        return new Promise((resolve, reject) => {
          try {
            tar_1
              .create(
                {
                  //file: `${targetDir}/${name}`,
                  file: `${name}`,
                  gzip: compression,
                  cwd: `${tmpDir}/`,
                },
                ["iobroker.js-controller"]
              )
              .then(async () => {
                await promisify_child_process_1.exec(`mv ${name} ${targetDir}`);
                console.log(`file ${name} created`);
                resolve(path_1.normalize(name));
              });
          } catch (e) {
            console.error("error! : " + e);
            reject(e);
          }
        });
      }
      */
      function alternative2(name, compression = true) {
        return new Promise(async (resolve, reject) => {
          try {
            await pipeline(
              tar_1.create(
                {
                  gzip: compression,
                  cwd: `${tmpDir}/`,
                },
                ["iobroker.js-controller"]
              ),
              //zlib.createGzip(),
              fs_extra_1.createWriteStream(`${targetDir}/${name}`),
            );
            console.log(`file ${name} created`);
            resolve(name);
          } catch (e) {
            console.error("error! : " + e);
            reject(e);
          }
        });
      }
      
      function alternative3(name, compression = true) {
        return new Promise(async (resolve, reject) => {
          try {
            await pipeline(
              tar_1.create(
                {
                  gzip: compression,
                  cwd: `${tmpDir}/`,
                },
                ["iobroker.js-controller"]
              ),
              zlib.createGzip(),
              fs_extra_1.createWriteStream(`${targetDir}/${name}`),
            );
            console.log(`file ${name} created`);
            resolve(name);
          } catch (e) {
            console.error("error! : " + e);
            reject(e);
          }
        });
      }
      
      function alternative4(name, compression = true) {
        const { pipeline } = require("node:stream/promises");
      
        return new Promise(async (resolve, reject) => {
          //const f = fs_extra_1.createWriteStream(`${targetDir}/${name}`);
          //f.on("finish", () => {
          //  resolve(path_1.normalize(name));
          //});
          //f.on("error", (e) => {
          //  console.error("error! : " + e);
          //  reject("Fehler im Stream");
          //});
          try {
            await pipeline(
              tar_1.create(
                {
                  //file: `${targetDir}/${name}`,
                  //file: `${name}`,
                  gzip: compression,
                  cwd: `${tmpDir}/`,
                },
                ["iobroker.js-controller"]
              ),
              //zlib.createGzip(),
              fs_extra_1.createWriteStream(`${targetDir}/${name}`),
            );
            console.log(`file ${name} created`);
            resolve(name);
          } catch (e) {
            console.error("error! : " + e);
            reject(e);
          }
        });
      }
      
      async function countFilesInTar(name) {
        let { stdout } = await promisify_child_process_1.exec(
          `tar -tf ${targetDir}/${name}|wc -l`
        );
        console.log(`number of files in ${name}: ${stdout}`);
      }
      

      Bei Fagen, fragen!

      O SO Offline
      O SO Offline
      O S
      schrieb am zuletzt editiert von
      #25

      @fastfoot
      Hier meine Ausgabe deines Testscriptes:

      umount not possible
      mount not possible: Error: Command failed: sudo mount -t cifs -o username=iobroker,password=iobrokertest,noserverino,rw,file_mode=0777,dir_mode=0777,vers=3.1.1 //fritz.box/fritz.nas/Backup /opt/iobroker/backups
      mount error(13): Permission denied
      Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

      file test_standard.tar.gz created
      file test_standard.tar.gz done
      number of files in test_standard.tar.gz: 155

      file test_nocompression.tar created
      file test_nocompression.tar done
      number of files in test_nocompression.tar: 155

      file test_alternative.tar.gz created
      file test_alternative.tar.gz done
      number of files in test_alternative.tar.gz: 155

      listing of created files in /opt/iobroker/backups
      -rw-rw-r--+ 1 pi pi 10724080 Oct 4 12:50 /opt/iobroker/backups/test_alternative.tar.gz
      -rw-rw-r--+ 1 pi pi 41432576 Oct 4 12:50 /opt/iobroker/backups/test_nocompression.tar
      -rw-rw-r--+ 1 pi pi 10724080 Oct 4 12:50 /opt/iobroker/backups/test_standard.tar.gz

      Gruß Otto

      End of output to copy
      1 Antwort Letzte Antwort
      0
      • F fastfoot

        hier das Skript für diejenigen die testen wollen

        • das Skript läuft nur auf Linux Systemen
        • das Skript ist für die cifs Verbindung zur Fritz Box konzipiert
          • für andere Systeme kann der mount-Befehl aus dem LOG des backitup Adapters gelesen werden
        • LXC Container benötigen für cifs den Privileged Mode
        • Docker Container benötigen Privileged Mode oder
          • cap_add:
            • SYS_ADMIN
            • DAC_READ_SEARCH

        Kleine Anleitung zur Erstellung und Aufruf

        • Das Skript muss in /opt/iobroker erstellt werden, wegen der Pfade
        • Der Name ist egal, z.B. cifs_test.js, die Endung .js ist wichtig
        • Die Einstellungen in den Zeilen 33-37 vornehmen
        • Aufruf von der Konsole in /opt/iobroker mit node cifs_test
        • umount und mount erfolgen im Skript

        "use strict";
        /**
         * Name:    cifs.js
         * Zweck:   Dient ausschliesslich dem Test von Fehlern im Zusammenhang mit
         *          cifs(smb) mit Fritz Box, Node >= 18.18.0 und BackitUp-Adapter
         *          bzw. iobroker-cli(iob backup)
         * Datum:   2023-10-08
         * Author:  @fastfoot
         * Forum:   https://forum.iobroker.net/post/1054910
         */
        
        const fs_extra_1 = require("fs-extra");
        const path_1 = require("path");
        const promisify_child_process_1 = require("promisify-child-process");
        const { pipeline } = require("node:stream/promises");
        const tar_1 = require("tar");
        const zlib = require("node:zlib");
        const os = require("os");
        const { exit } = require("process");
        const { createWriteStream } = require("fs");
        if (os.platform != "linux") {
          console.log("This script can only work under Linux OS, terminating now...");
          exit(1);
        }
        
        //
        //                                 fixe Einstellungen, möglichst nicht ändern
        //
        const tmpDir = "/opt/iobroker/node_modules"; // simuliert den tmp Ordner des Backitup-Adapters, NICHT ändern!
        const targetDir = "/opt/iobroker/backups"; // Standard Ordner für Backup Dateien, NICHT ändern!
        const fritzNasShare = "//fritz.box/fritz.nas"; // Standard Share der FritzBox, NICHT ändern!
        
        //
        //                                 Einstellungen
        //
        const fritzNasDir = "Backup"; // Individueller Ordner des Fritz!NAS
        const fritzPasswd = "iobrokertest"; // Passwort
        const fritzUser = "iobroker"; // User
        const fritzSMBVers = "3.1.1"; // gültige SMB Version ("1.0","2.0","3.0","3.0.2","3.1.1")oder ""
        const noserverinoOpt = true; // Verwendung noserverino Option true/false
        //
        //                                           Ab hier Finger weg!
        //
        const umountCmd = `sudo umount ${targetDir}`;
        const mountCmd = `sudo mount -t cifs -o username=${fritzUser},password=${fritzPasswd}${
          noserverinoOpt ? ",noserverino" : ""
        },rw,file_mode=0777,dir_mode=0777${
          fritzSMBVers ? ",vers=3.1.1" : ""
        } ${fritzNasShare}/${fritzNasDir} ${targetDir}`;
        
        test();
        
        async function test() {
          console.log("Copy output from below \n\n```");
          try {
            const { stdout } = await promisify_child_process_1.exec(umountCmd);
            console.log(`${targetDir} unmounted`);
          } catch (e) {
            console.log("umount not possible");
          }
          try {
            await promisify_child_process_1.exec(mountCmd);
            console.log(`${fritzNasShare}/${fritzNasDir} mounted into ${targetDir}\n`);
          } catch (e) {
            console.log("mount not possible: " + e + "\n");
          }
          try {
            let res1 = await alternative2(`test_pipeline_compressed_tar.tar.gz`, true);
            console.log(`file ${res1} done`);
            await countFilesInTar(res1);
        
            res1 = await alternative3(`test_pipeline_compressed_zlib.tar.gz`, false);
            console.log(`file ${res1} done`);
            await countFilesInTar(res1);
        
            res1 = await alternative4(`test_pipeline_uncompressed.tar`, false);
            console.log(`file ${res1} done`);
            await countFilesInTar(res1);
        
        
            const { stdout } = await promisify_child_process_1.exec(
              `ls -lt ${targetDir}/test_*`
            );
            console.log(`listing of created files in ${targetDir}\n` + stdout);
          } catch (e) {
            console.log(e);
          }
          console.error("```\n\nEnd of output to copy");
        }
        /*
        function standard(name, compression) {
          return new Promise((resolve, reject) => {
            const f = fs_extra_1.createWriteStream(`${targetDir}/${name}`);
            f.on("finish", () => {
              resolve(path_1.normalize(name));
            });
            f.on("error", (e) => {
              console.error("error! : " + e);
              reject("Fehler im Stream");
            });
            try {
              tar_1
                .create({ gzip: compression, cwd: `${tmpDir}/` }, [
                  "iobroker.js-controller",
                ])
                .pipe(f);
              console.log(`file ${name} created`);
            } catch (e) {
              console.error("error! : " + e);
              reject(e);
            }
          });
        }
        
        function alternative(name, compression = true) {
          return new Promise((resolve, reject) => {
            try {
              tar_1
                .create(
                  {
                    //file: `${targetDir}/${name}`,
                    file: `${name}`,
                    gzip: compression,
                    cwd: `${tmpDir}/`,
                  },
                  ["iobroker.js-controller"]
                )
                .then(async () => {
                  await promisify_child_process_1.exec(`mv ${name} ${targetDir}`);
                  console.log(`file ${name} created`);
                  resolve(path_1.normalize(name));
                });
            } catch (e) {
              console.error("error! : " + e);
              reject(e);
            }
          });
        }
        */
        function alternative2(name, compression = true) {
          return new Promise(async (resolve, reject) => {
            try {
              await pipeline(
                tar_1.create(
                  {
                    gzip: compression,
                    cwd: `${tmpDir}/`,
                  },
                  ["iobroker.js-controller"]
                ),
                //zlib.createGzip(),
                fs_extra_1.createWriteStream(`${targetDir}/${name}`),
              );
              console.log(`file ${name} created`);
              resolve(name);
            } catch (e) {
              console.error("error! : " + e);
              reject(e);
            }
          });
        }
        
        function alternative3(name, compression = true) {
          return new Promise(async (resolve, reject) => {
            try {
              await pipeline(
                tar_1.create(
                  {
                    gzip: compression,
                    cwd: `${tmpDir}/`,
                  },
                  ["iobroker.js-controller"]
                ),
                zlib.createGzip(),
                fs_extra_1.createWriteStream(`${targetDir}/${name}`),
              );
              console.log(`file ${name} created`);
              resolve(name);
            } catch (e) {
              console.error("error! : " + e);
              reject(e);
            }
          });
        }
        
        function alternative4(name, compression = true) {
          const { pipeline } = require("node:stream/promises");
        
          return new Promise(async (resolve, reject) => {
            //const f = fs_extra_1.createWriteStream(`${targetDir}/${name}`);
            //f.on("finish", () => {
            //  resolve(path_1.normalize(name));
            //});
            //f.on("error", (e) => {
            //  console.error("error! : " + e);
            //  reject("Fehler im Stream");
            //});
            try {
              await pipeline(
                tar_1.create(
                  {
                    //file: `${targetDir}/${name}`,
                    //file: `${name}`,
                    gzip: compression,
                    cwd: `${tmpDir}/`,
                  },
                  ["iobroker.js-controller"]
                ),
                //zlib.createGzip(),
                fs_extra_1.createWriteStream(`${targetDir}/${name}`),
              );
              console.log(`file ${name} created`);
              resolve(name);
            } catch (e) {
              console.error("error! : " + e);
              reject(e);
            }
          });
        }
        
        async function countFilesInTar(name) {
          let { stdout } = await promisify_child_process_1.exec(
            `tar -tf ${targetDir}/${name}|wc -l`
          );
          console.log(`number of files in ${name}: ${stdout}`);
        }
        

        Bei Fagen, fragen!

        O SO Offline
        O SO Offline
        O S
        schrieb am zuletzt editiert von
        #26

        @fastfoot

        hier die korrigierte Fassung:


        umount not possible
        //fritz.box/fritz.nas/intenso/iobroker mounted into /opt/iobroker/backups

        file test_standard.tar.gz created
        file test_standard.tar.gz done
        number of files in test_standard.tar.gz: 155

        file test_nocompression.tar created
        file test_nocompression.tar done
        number of files in test_nocompression.tar: 155

        file test_alternative.tar.gz created
        file test_alternative.tar.gz done
        number of files in test_alternative.tar.gz: 155

        listing of created files in /opt/iobroker/backups
        -rwxrwxrwx 1 root root 10724083 Oct 4 13:36 /opt/iobroker/backups/test_alternative.tar.gz
        -rwxrwxrwx 1 root root 41432576 Oct 4 13:35 /opt/iobroker/backups/test_nocompression.tar
        -rwxrwxrwx 1 root root 10724083 Oct 4 13:35 /opt/iobroker/backups/test_standard.tar.gz

        F 1 Antwort Letzte Antwort
        0
        • R Radi

          @fastfoot sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

          node cifs_test

          Hier mal die Ausgabe deines Testscripts auf meinem System:

          /opt/iobroker/backups unmounted
          //192.168.69.254/fritz.nas/Volume/backup2 mounted into /opt/iobroker/backups
          
          file test_standard.tar.gz created
          file test_standard.tar.gz done
          number of files in test_standard.tar.gz: 0
          
          file test_nocompression.tar created
          file test_nocompression.tar done
          number of files in test_nocompression.tar: 5
          
          file test_alternative.tar.gz created
          file test_alternative.tar.gz done
          number of files in test_alternative.tar.gz: 0
          
          listing of created files in /opt/iobroker/backups
          -rwxrwxrwx 1 root root  16384  4. Okt 09:01 /opt/iobroker/backups/test_alternative.tar.gz
          -rwxrwxrwx 1 root root 251392  4. Okt 09:01 /opt/iobroker/backups/test_nocompression.tar
          -rwxrwxrwx 1 root root  16394  4. Okt 09:01 /opt/iobroker/backups/test_standard.tar.gz
          
          

          End of output to copy

          Ich hoffe, es hilft weiter, den Fehler einzugrenzen.

          Achtung, habe den Artikel noch mal bearbeitet.

          F Offline
          F Offline
          fastfoot
          schrieb am zuletzt editiert von
          #27

          @radi Das sieht mir sehr nach Schrott aus, ich denke da werden die falschen Parameter für das mounten benutzt. Bitte schau mal in deinen Backitup Adapter welche Settings du da benutzt, es geht um die SMB version und die noserverino Option, einzustellen im Skript in den Zeilen 36 + 37

          const fritzSMBVers = "3.1.1"; // gültige SMB Version ("1.0","2.0","3.0","3.0.2","3.1.1")oder ""
          const noserverinoOpt = true; // Verwendung noserverino Option true/false
          

          bitte abändern und nochmal laufen lassen

          iobroker läuft unter Docker auf QNAP TS-451+
          SkriptRecovery: https://forum.iobroker.net/post/930558

          1 Antwort Letzte Antwort
          0
          • O SO O S

            @fastfoot

            hier die korrigierte Fassung:


            umount not possible
            //fritz.box/fritz.nas/intenso/iobroker mounted into /opt/iobroker/backups

            file test_standard.tar.gz created
            file test_standard.tar.gz done
            number of files in test_standard.tar.gz: 155

            file test_nocompression.tar created
            file test_nocompression.tar done
            number of files in test_nocompression.tar: 155

            file test_alternative.tar.gz created
            file test_alternative.tar.gz done
            number of files in test_alternative.tar.gz: 155

            listing of created files in /opt/iobroker/backups
            -rwxrwxrwx 1 root root 10724083 Oct 4 13:36 /opt/iobroker/backups/test_alternative.tar.gz
            -rwxrwxrwx 1 root root 41432576 Oct 4 13:35 /opt/iobroker/backups/test_nocompression.tar
            -rwxrwxrwx 1 root root 10724083 Oct 4 13:35 /opt/iobroker/backups/test_standard.tar.gz

            F Offline
            F Offline
            fastfoot
            schrieb am zuletzt editiert von
            #28

            @o-s sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

            hier die korrigierte Fassung:

            Das sieht aber nicht nach irgendwelchen Problemen aus. Falls Du im Backitup Adapter Probleme hast dann passe dort mal die SMB - Version und die noserverino entsprechend den Einstellungen im Skript an und lasse nochmal ein Backup über den Adapter laufen

            iobroker läuft unter Docker auf QNAP TS-451+
            SkriptRecovery: https://forum.iobroker.net/post/930558

            O SO Thomas BraunT 2 Antworten Letzte Antwort
            0
            • F fastfoot

              @o-s sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

              hier die korrigierte Fassung:

              Das sieht aber nicht nach irgendwelchen Problemen aus. Falls Du im Backitup Adapter Probleme hast dann passe dort mal die SMB - Version und die noserverino entsprechend den Einstellungen im Skript an und lasse nochmal ein Backup über den Adapter laufen

              O SO Offline
              O SO Offline
              O S
              schrieb am zuletzt editiert von
              #29

              @fastfoot
              05f44d2e-7fab-4a2b-b5da-833d9cc8c369-grafik.png

              Bei diesen Einstellungen erhalte ich:

              d550f5c9-5f0e-4538-b9d1-6800a7ce2830-grafik.png

              F 1 Antwort Letzte Antwort
              0
              • F fastfoot

                @o-s sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                hier die korrigierte Fassung:

                Das sieht aber nicht nach irgendwelchen Problemen aus. Falls Du im Backitup Adapter Probleme hast dann passe dort mal die SMB - Version und die noserverino entsprechend den Einstellungen im Skript an und lasse nochmal ein Backup über den Adapter laufen

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von Thomas Braun
                #30

                @fastfoot

                umount not possible
                //fritz.box/fritz.nas/Hitachi-HTS545012B9SA00-01/iobbackups/chet mounted into /opt/iobroker/backups
                
                file test_standard.tar.gz created
                file test_standard.tar.gz done
                number of files in test_standard.tar.gz: 0
                
                file test_nocompression.tar created
                file test_nocompression.tar done
                number of files in test_nocompression.tar: 0
                
                file test_alternative.tar.gz created
                file test_alternative.tar.gz done
                number of files in test_alternative.tar.gz: 0
                
                listing of created files in /opt/iobroker/backups
                -rwxrwxrwx 1 root root  16384 Oct  4 17:32 /opt/iobroker/backups/test_alternative.tar.gz
                -rwxrwxrwx 1 root root 251392 Oct  4 17:32 /opt/iobroker/backups/test_nocompression.tar
                -rwxrwxrwx 1 root root  16384 Oct  4 17:32 /opt/iobroker/backups/test_standard.tar.gz
                
                

                Von mir auch nochmal.

                mount schaut so aus:

                
                //fritz.box/fritz.nas/Hitachi-HTS545012B9SA00-01/iobbackups/chet on /opt/iobroker/backups type cifs (rw,relatime,vers=3.1.1,cache=strict,username=iobroker,uid=0,noforceuid,gid=0,noforcegid,addr=2a02:0908:0391:30e0:1eed:6fff:fe57:f042,file_mode=0777,dir_mode=0777,soft,nounix,mapposix,rsize=65536,wsize=65536,bsize=1048576,echo_interval=60,actimeo=1,closetimeo=5)
                

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                F 1 Antwort Letzte Antwort
                0
                • O SO O S

                  @fastfoot
                  05f44d2e-7fab-4a2b-b5da-833d9cc8c369-grafik.png

                  Bei diesen Einstellungen erhalte ich:

                  d550f5c9-5f0e-4538-b9d1-6800a7ce2830-grafik.png

                  F Offline
                  F Offline
                  fastfoot
                  schrieb am zuletzt editiert von
                  #31

                  @o-s ok, 16KB im Fehlerfall ist das eigentlich erwartete Ergebnis. Was mich sehr wundert ist dass beim Skript alles funktioniert. Das Skript verwendet zum Erstellen der Testdateien die gleiche Methodik wie der Adapter und sollte deshalb auch einen Fehler zumindest bei der test_standard.tar.gz zeigen. Was mich dennoch wundert ist die geringe Anzahl an Files.

                  • Nutzt du als tmpDir = "/opt/iobroker/node_modules"; ?
                  • welche controller version iob -v ?
                  • welche Backitup Version?

                  Ich ändere später noch das Skript um mehr Infos zu bekommen

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  O SO 1 Antwort Letzte Antwort
                  0
                  • Thomas BraunT Thomas Braun

                    @fastfoot

                    umount not possible
                    //fritz.box/fritz.nas/Hitachi-HTS545012B9SA00-01/iobbackups/chet mounted into /opt/iobroker/backups
                    
                    file test_standard.tar.gz created
                    file test_standard.tar.gz done
                    number of files in test_standard.tar.gz: 0
                    
                    file test_nocompression.tar created
                    file test_nocompression.tar done
                    number of files in test_nocompression.tar: 0
                    
                    file test_alternative.tar.gz created
                    file test_alternative.tar.gz done
                    number of files in test_alternative.tar.gz: 0
                    
                    listing of created files in /opt/iobroker/backups
                    -rwxrwxrwx 1 root root  16384 Oct  4 17:32 /opt/iobroker/backups/test_alternative.tar.gz
                    -rwxrwxrwx 1 root root 251392 Oct  4 17:32 /opt/iobroker/backups/test_nocompression.tar
                    -rwxrwxrwx 1 root root  16384 Oct  4 17:32 /opt/iobroker/backups/test_standard.tar.gz
                    
                    

                    Von mir auch nochmal.

                    mount schaut so aus:

                    
                    //fritz.box/fritz.nas/Hitachi-HTS545012B9SA00-01/iobbackups/chet on /opt/iobroker/backups type cifs (rw,relatime,vers=3.1.1,cache=strict,username=iobroker,uid=0,noforceuid,gid=0,noforcegid,addr=2a02:0908:0391:30e0:1eed:6fff:fe57:f042,file_mode=0777,dir_mode=0777,soft,nounix,mapposix,rsize=65536,wsize=65536,bsize=1048576,echo_interval=60,actimeo=1,closetimeo=5)
                    
                    F Offline
                    F Offline
                    fastfoot
                    schrieb am zuletzt editiert von
                    #32

                    @thomas-braun ist das die gleiche Config mit der wir die Tage getestet hatten? Da hatte nämlich sowohl die alternative Methode als auch die unkomprimierte Version funktioniert. Die unkomprimierte Version ist zwar grösser aber ich denke mal dass sie auch korrupt ist(tar -tf backups/test_nocompression.tar).
                    Hier mein Output mit aktuellem js-controller

                    /opt/iobroker/backups unmounted
                    //fritz.box/fritz.nas/Backup mounted into /opt/iobroker/backups
                    
                    file test_standard.tar.gz created
                    file test_standard.tar.gz done
                    number of files in test_standard.tar.gz: 292
                    
                    file test_nocompression.tar created
                    file test_nocompression.tar done
                    number of files in test_nocompression.tar: 292
                    
                    file test_alternative.tar.gz created
                    file test_alternative.tar.gz done
                    number of files in test_alternative.tar.gz: 292
                    
                    listing of created files in /opt/iobroker/backups
                    -rwxrwxrwx 1 root root  7109435 Okt  4 18:02 /opt/iobroker/backups/test_alternative.tar.gz
                    -rwxrwxrwx 1 root root 42487808 Okt  4 18:02 /opt/iobroker/backups/test_nocompression.tar
                    -rwxrwxrwx 1 root root  7109456 Okt  4 18:02 /opt/iobroker/backups/test_standard.tar.gz
                    
                    

                    iobroker läuft unter Docker auf QNAP TS-451+
                    SkriptRecovery: https://forum.iobroker.net/post/930558

                    Thomas BraunT 2 Antworten Letzte Antwort
                    0
                    • F fastfoot

                      @thomas-braun ist das die gleiche Config mit der wir die Tage getestet hatten? Da hatte nämlich sowohl die alternative Methode als auch die unkomprimierte Version funktioniert. Die unkomprimierte Version ist zwar grösser aber ich denke mal dass sie auch korrupt ist(tar -tf backups/test_nocompression.tar).
                      Hier mein Output mit aktuellem js-controller

                      /opt/iobroker/backups unmounted
                      //fritz.box/fritz.nas/Backup mounted into /opt/iobroker/backups
                      
                      file test_standard.tar.gz created
                      file test_standard.tar.gz done
                      number of files in test_standard.tar.gz: 292
                      
                      file test_nocompression.tar created
                      file test_nocompression.tar done
                      number of files in test_nocompression.tar: 292
                      
                      file test_alternative.tar.gz created
                      file test_alternative.tar.gz done
                      number of files in test_alternative.tar.gz: 292
                      
                      listing of created files in /opt/iobroker/backups
                      -rwxrwxrwx 1 root root  7109435 Okt  4 18:02 /opt/iobroker/backups/test_alternative.tar.gz
                      -rwxrwxrwx 1 root root 42487808 Okt  4 18:02 /opt/iobroker/backups/test_nocompression.tar
                      -rwxrwxrwx 1 root root  7109456 Okt  4 18:02 /opt/iobroker/backups/test_standard.tar.gz
                      
                      
                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von
                      #33

                      @fastfoot sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                      ist das die gleiche Config mit der wir die Tage getestet hatten?

                      Ja, im Grund schon. Ich mounte über die fstab allerdings mit smbcredentials statt user/pw, aber das sollte keinen Unterschied machen, die Freigabe landet ja im Mountpunkt.

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      F 1 Antwort Letzte Antwort
                      0
                      • F fastfoot

                        @o-s ok, 16KB im Fehlerfall ist das eigentlich erwartete Ergebnis. Was mich sehr wundert ist dass beim Skript alles funktioniert. Das Skript verwendet zum Erstellen der Testdateien die gleiche Methodik wie der Adapter und sollte deshalb auch einen Fehler zumindest bei der test_standard.tar.gz zeigen. Was mich dennoch wundert ist die geringe Anzahl an Files.

                        • Nutzt du als tmpDir = "/opt/iobroker/node_modules"; ?
                        • welche controller version iob -v ?
                        • welche Backitup Version?

                        Ich ändere später noch das Skript um mehr Infos zu bekommen

                        O SO Offline
                        O SO Offline
                        O S
                        schrieb am zuletzt editiert von
                        #34

                        @fastfoot

                        Ich nutze opt/iobroker/node_modules
                        Controller: 5.0.12
                        Backitup: 2.8.1

                        F 1 Antwort Letzte Antwort
                        0
                        • O SO O S

                          @fastfoot

                          Ich nutze opt/iobroker/node_modules
                          Controller: 5.0.12
                          Backitup: 2.8.1

                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von
                          #35

                          @o-s sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                          @fastfoot

                          Ich nutze opt/iobroker/node_modules
                          Controller: 5.0.12
                          Backitup: 2.8.1

                          ja das passt, es gibt in der Beta eine 2.8.2 aber ich glaube nicht dass das einen Unterschied macht.

                          Das macht mich erstmal etwas rarlos...

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          1 Antwort Letzte Antwort
                          0
                          • F fastfoot

                            @thomas-braun ist das die gleiche Config mit der wir die Tage getestet hatten? Da hatte nämlich sowohl die alternative Methode als auch die unkomprimierte Version funktioniert. Die unkomprimierte Version ist zwar grösser aber ich denke mal dass sie auch korrupt ist(tar -tf backups/test_nocompression.tar).
                            Hier mein Output mit aktuellem js-controller

                            /opt/iobroker/backups unmounted
                            //fritz.box/fritz.nas/Backup mounted into /opt/iobroker/backups
                            
                            file test_standard.tar.gz created
                            file test_standard.tar.gz done
                            number of files in test_standard.tar.gz: 292
                            
                            file test_nocompression.tar created
                            file test_nocompression.tar done
                            number of files in test_nocompression.tar: 292
                            
                            file test_alternative.tar.gz created
                            file test_alternative.tar.gz done
                            number of files in test_alternative.tar.gz: 292
                            
                            listing of created files in /opt/iobroker/backups
                            -rwxrwxrwx 1 root root  7109435 Okt  4 18:02 /opt/iobroker/backups/test_alternative.tar.gz
                            -rwxrwxrwx 1 root root 42487808 Okt  4 18:02 /opt/iobroker/backups/test_nocompression.tar
                            -rwxrwxrwx 1 root root  7109456 Okt  4 18:02 /opt/iobroker/backups/test_standard.tar.gz
                            
                            
                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #36

                            @fastfoot
                            Output des check-skripts, anschließen manuelles backup in das lokale FS.

                            echad@chet:/opt/iobroker $ ls -lAh backups/
                            total 280K
                            -rwxrwxrwx 1 root root    0 Oct  4 18:16 01_FREIGABE_FRITZ_NAS
                            -rwxrwxrwx 1 root root  16K Oct  4 18:17 test_alternative.tar.gz
                            -rwxrwxrwx 1 root root 246K Oct  4 18:17 test_nocompression.tar
                            -rwxrwxrwx 1 root root  16K Oct  4 18:17 test_standard.tar.gz
                            echad@chet:/opt/iobroker $ sudo umount /opt/iobroker/backups
                            echad@chet:/opt/iobroker $ iob backup
                            host.chet 8105 states saved
                            host.chet 9932 objects saved
                            Backup created: /opt/iobroker/backups/2023_10_04-18_18_01_backupiobroker.tar.gz
                            This backup can only be restored with js-controller version up from 4.1
                            echad@chet:/opt/iobroker $ ls -lAh backups/
                            total 5.8M
                            -rw-rw-r--+ 1 iobroker iobroker 5.8M Oct  4 18:18 2023_10_04-18_18_01_backupiobroker.tar.gz
                            

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            simatecS 1 Antwort Letzte Antwort
                            0
                            • simatecS Online
                              simatecS Online
                              simatec
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #37

                              Wir können für den Anfang erstmal festhalten, dass es nicht an Backitup liegt und mir aktuell bekannt, nur in Verbindung mit der FRITZ!Box die Probleme auftreten.

                              Wäre gut, wenn andere ohne Fritz NAS hier auch noch Ihre Ergebnisse teilen könnten. So können wir gezielt eingrenzen..

                              @Thomas-Braun
                              Hast du noch ne Idee, ob wir im Mount noch zusätzliche Parameter testen können?

                              • Besuche meine Github Seite
                              • Beitrag hat geholfen oder willst du mich unterstützen
                              • HowTo Restore ioBroker
                              Thomas BraunT F 2 Antworten Letzte Antwort
                              0
                              • Thomas BraunT Thomas Braun

                                @fastfoot sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                ist das die gleiche Config mit der wir die Tage getestet hatten?

                                Ja, im Grund schon. Ich mounte über die fstab allerdings mit smbcredentials statt user/pw, aber das sollte keinen Unterschied machen, die Freigabe landet ja im Mountpunkt.

                                F Offline
                                F Offline
                                fastfoot
                                schrieb am zuletzt editiert von
                                #38

                                @thomas-braun sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                @fastfoot sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                ist das die gleiche Config mit der wir die Tage getestet hatten?

                                Ja, im Grund schon. Ich mounte über die fstab allerdings mit smbcredentials statt user/pw, aber das sollte keinen Unterschied machen, die Freigabe landet ja im Mountpunkt.

                                ich dachte da eher an andere(ältere) Hardware. Für die Alternate Methode habe ich ne Erklärung, wir hatten mit Erstellen und dann kopieren getestet, jetzt schreibe ich das gleich in den mount, werde ich ändern. Aber uncompressed im Adapter hatte funktioniert und mit Skript nicht.

                                Wenn der Mount immer besteht, wie handelst du das im Adapter, der mounted doch auch immer? Dazu könntest du aber NAS/COPY ausschalten und 'normal' ein Backup machen, geht ja dann als Standard in den mountpoint. Als Alternative dazu NAS/COPY von cifs auf copy umstellen und als Pfad /opt/iobroker/backups einstellen. Wäre interessant zu sehen ob das einen Unterschied macht.

                                OT: Wie sieht denn der Eintrag im fstab aus? incl. der smb-credentials bitte, ohne PW narürlich

                                iobroker läuft unter Docker auf QNAP TS-451+
                                SkriptRecovery: https://forum.iobroker.net/post/930558

                                Thomas BraunT 1 Antwort Letzte Antwort
                                0
                                • Thomas BraunT Thomas Braun

                                  @fastfoot
                                  Output des check-skripts, anschließen manuelles backup in das lokale FS.

                                  echad@chet:/opt/iobroker $ ls -lAh backups/
                                  total 280K
                                  -rwxrwxrwx 1 root root    0 Oct  4 18:16 01_FREIGABE_FRITZ_NAS
                                  -rwxrwxrwx 1 root root  16K Oct  4 18:17 test_alternative.tar.gz
                                  -rwxrwxrwx 1 root root 246K Oct  4 18:17 test_nocompression.tar
                                  -rwxrwxrwx 1 root root  16K Oct  4 18:17 test_standard.tar.gz
                                  echad@chet:/opt/iobroker $ sudo umount /opt/iobroker/backups
                                  echad@chet:/opt/iobroker $ iob backup
                                  host.chet 8105 states saved
                                  host.chet 9932 objects saved
                                  Backup created: /opt/iobroker/backups/2023_10_04-18_18_01_backupiobroker.tar.gz
                                  This backup can only be restored with js-controller version up from 4.1
                                  echad@chet:/opt/iobroker $ ls -lAh backups/
                                  total 5.8M
                                  -rw-rw-r--+ 1 iobroker iobroker 5.8M Oct  4 18:18 2023_10_04-18_18_01_backupiobroker.tar.gz
                                  
                                  simatecS Online
                                  simatecS Online
                                  simatec
                                  Developer Most Active
                                  schrieb am zuletzt editiert von
                                  #39

                                  @thomas-braun

                                  Kannst du mal bitte den Mount manuell setzen und die Optionen probieren?

                                  • cache: Die Deaktivierung des Caches cache=none kann helfen, falls die SMB-Freigaben nicht korrekt eingehangen werden.
                                  • nobrl: Deaktivierung der Bytebereich-Sperrung (Byte-Range Lock). Einige Programme kommen mit dem Byte-Range Lock nicht zurecht und können deshalb auf gemountete SMB-Freigaben trotz korrekter Berechtigungen nicht schreiben. Abhilfe schafft hier die Mount-Option nobrl.
                                  • Besuche meine Github Seite
                                  • Beitrag hat geholfen oder willst du mich unterstützen
                                  • HowTo Restore ioBroker
                                  F 1 Antwort Letzte Antwort
                                  0
                                  • simatecS simatec

                                    Wir können für den Anfang erstmal festhalten, dass es nicht an Backitup liegt und mir aktuell bekannt, nur in Verbindung mit der FRITZ!Box die Probleme auftreten.

                                    Wäre gut, wenn andere ohne Fritz NAS hier auch noch Ihre Ergebnisse teilen könnten. So können wir gezielt eingrenzen..

                                    @Thomas-Braun
                                    Hast du noch ne Idee, ob wir im Mount noch zusätzliche Parameter testen können?

                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #40

                                    @simatec sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                    Hast du noch ne Idee, ob wir im Mount noch zusätzliche Parameter testen können?

                                    Ich bin komplett ratlos. Es muss aber mit tar und/oder gzip in Verbindung stehen. Bereits gepackte Backup kann ich z. B. auf die Freigabe schieben.

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    1 Antwort Letzte Antwort
                                    0
                                    • simatecS simatec

                                      Wir können für den Anfang erstmal festhalten, dass es nicht an Backitup liegt und mir aktuell bekannt, nur in Verbindung mit der FRITZ!Box die Probleme auftreten.

                                      Wäre gut, wenn andere ohne Fritz NAS hier auch noch Ihre Ergebnisse teilen könnten. So können wir gezielt eingrenzen..

                                      @Thomas-Braun
                                      Hast du noch ne Idee, ob wir im Mount noch zusätzliche Parameter testen können?

                                      F Offline
                                      F Offline
                                      fastfoot
                                      schrieb am zuletzt editiert von
                                      #41

                                      @simatec sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                      Wir können für den Anfang erstmal festhalten, dass es nicht an Backitup liegt und mir aktuell bekannt, nur in Verbindung mit der FRITZ!Box die Probleme auftreten.

                                      Wäre gut, wenn andere ohne Fritz NAS hier auch noch Ihre Ergebnisse teilen könnten. So können wir gezielt eingrenzen..

                                      @Thomas-Braun
                                      Hast du noch ne Idee, ob wir im Mount noch zusätzliche Parameter testen können?

                                      Nein, das hat auch niemand behauptet. Am Adapter liegt es nicht, aber am js-controller dessen Routinen der Adapter mW nutzt. D.h. mit manuellem cifs mount und iob backup gibt es auf betroffenen Systemen den gleichen Fehler. Und im Controller ist auch nichts wirklich falsch, aber in Kombination mit writableStream und pipe treten auf manchen Systemen halt Fehler auf. Wenn ich das tar.gz erstelle und dann kopiere tritt der Fehler nicht auf(Hier im Skript versehentlich geändert) Wir haben schon so ziemlich alle Kombinationen ohne Erfolg durch, bei mir zB klappt es immer :-( Wir hatten auch mit Erfolg gzip: false getestet und der Fehler war weg. Hier im Skript klappt das aber plötzlich nicht mehr. Um diese Fummelei an Systemdaten zu vermeiden und einen grösseren Userkreis mit einzubinden gibt es dieses Skript

                                      iobroker läuft unter Docker auf QNAP TS-451+
                                      SkriptRecovery: https://forum.iobroker.net/post/930558

                                      1 Antwort Letzte Antwort
                                      0
                                      • F fastfoot

                                        @thomas-braun sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                        @fastfoot sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                        ist das die gleiche Config mit der wir die Tage getestet hatten?

                                        Ja, im Grund schon. Ich mounte über die fstab allerdings mit smbcredentials statt user/pw, aber das sollte keinen Unterschied machen, die Freigabe landet ja im Mountpunkt.

                                        ich dachte da eher an andere(ältere) Hardware. Für die Alternate Methode habe ich ne Erklärung, wir hatten mit Erstellen und dann kopieren getestet, jetzt schreibe ich das gleich in den mount, werde ich ändern. Aber uncompressed im Adapter hatte funktioniert und mit Skript nicht.

                                        Wenn der Mount immer besteht, wie handelst du das im Adapter, der mounted doch auch immer? Dazu könntest du aber NAS/COPY ausschalten und 'normal' ein Backup machen, geht ja dann als Standard in den mountpoint. Als Alternative dazu NAS/COPY von cifs auf copy umstellen und als Pfad /opt/iobroker/backups einstellen. Wäre interessant zu sehen ob das einen Unterschied macht.

                                        OT: Wie sieht denn der Eintrag im fstab aus? incl. der smb-credentials bitte, ohne PW narürlich

                                        Thomas BraunT Online
                                        Thomas BraunT Online
                                        Thomas Braun
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #42

                                        @fastfoot sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                        Wenn der Mount immer besteht, wie handelst du das im Adapter, der mounted doch auch immer?

                                        Nein, der mount besteht nicht immer. Der ist nur in der fstab eingetragen, damit ein simples 'mount /opt/iobroker/backups' funktioniert und ich nicht immer alle Optionen angeben muss. Bin doch ein Fauler... ;-)

                                        Der Eintrag:

                                        # iobroker Backup
                                        //192.168.178.1/FRITZ.NAS/Hitachi-HTS545012B9SA00-01/iobbackups/chet /opt/iobroker/backups  cifs credentials=/home/iobroker/.smbcredentials,users,noserverino,rw,noauto,uid=iobroker,gid=iobroker,file_mode=0777,dir_mode=0777,vers=3.1.1
                                        

                                        Linux-Werkzeugkasten:
                                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                        NodeJS Fixer Skript:
                                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                        F 1 Antwort Letzte Antwort
                                        0
                                        • simatecS simatec

                                          @thomas-braun

                                          Kannst du mal bitte den Mount manuell setzen und die Optionen probieren?

                                          • cache: Die Deaktivierung des Caches cache=none kann helfen, falls die SMB-Freigaben nicht korrekt eingehangen werden.
                                          • nobrl: Deaktivierung der Bytebereich-Sperrung (Byte-Range Lock). Einige Programme kommen mit dem Byte-Range Lock nicht zurecht und können deshalb auf gemountete SMB-Freigaben trotz korrekter Berechtigungen nicht schreiben. Abhilfe schafft hier die Mount-Option nobrl.
                                          F Offline
                                          F Offline
                                          fastfoot
                                          schrieb am zuletzt editiert von
                                          #43

                                          @simatec sagte in TESTER gesucht / Backup auf Fritz.nas - node 18.18.0:

                                          @thomas-braun

                                          Kannst du mal bitte den Mount manuell setzen und die Optionen probieren?

                                          • cache: Die Deaktivierung des Caches cache=none kann helfen, falls die SMB-Freigaben nicht korrekt eingehangen werden.
                                          • nobrl: Deaktivierung der Bytebereich-Sperrung (Byte-Range Lock). Einige Programme kommen mit dem Byte-Range Lock nicht zurecht und können deshalb auf gemountete SMB-Freigaben trotz korrekter Berechtigungen nicht schreiben. Abhilfe schafft hier die Mount-Option nobrl.

                                          Der Fehler trat bei Thomas erst mit der 18.18.0 auf und mit node 20, wir hatten bzw haben gzip in Verdacht, da wurde in der neuen node was geändert

                                          iobroker läuft unter Docker auf QNAP TS-451+
                                          SkriptRecovery: https://forum.iobroker.net/post/930558

                                          simatecS 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          766

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe