Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Codeschnipsel - Datei löschen auf Synology

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Codeschnipsel - Datei löschen auf Synology

    This topic has been deleted. Only users with topic management privileges can see it.
    • falke69
      falke69 @bahnuhr last edited by

      @bahnuhr

      mit Shell Script

      #!/usr/bin/expect -f
      mount -t cifs -o username=Benutzername,password=geheim //192.168.xxx.xxx/Cam /mnt/cam
      find /mnt/cam/* -mtime +19 -type d -exec rm -rf {} \;
      sleep 10s
      umount /mnt/cam
      
      
      bahnuhr 1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @falke69 last edited by

        @falke69

        Das wäre evtl. auch ne Lösung.

        Ich suche aber ein Script was ich per iob ändern und ausführen kann.

        falke69 liv-in-sky 2 Replies Last reply Reply Quote 0
        • falke69
          falke69 @bahnuhr last edited by

          @bahnuhr

          Ich hatte am Anfang das mit dem exec Befehl über Blockly gemacht.
          Dann hatte ich ein Script gefunden, wo ich mich auf den Rechner einloggen kann und das Shell Script ausführen kann. In meinem Fall liegt das Script mit auf meinem IO-Broker und wird einmal täglich automatisch gestartet.

          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @bahnuhr last edited by

            @bahnuhr

            wie ist den das directory eingebunden ? ist es gemountet ? oder willst du über ftp darauf zugreifen ?
            so wie es aussieht, ist da noch dein herz bei windows 🙂

            das ist über einen mount: da braucht man kein "//" - ist ja linux 🙂 sondern nur eines "/SYNOLOGY/Sicherung/123.txt" - aber es muss gemountet sein - ich nehme an, dass "//SYNOLOGY/Sicherung/123.txt" ein windows rechner ist, der in deinem netzwerk zu sehen ist

            
            
                var fs = require('fs'); 
            
                fs.unlink('//SYNOLOGY/Sicherung/123.txt', function (err) {
            
                    if (err) throw err;
            
                    log('Datei wurde gelöscht.');
            
                });
            
            

            damit du über fs. zugreifen kannst, musst du zuerst sowas ausführen - evtl über exec() und anschliessend einen umount

            mount -t cifs -o username=Benutzername,password=geheim //192.168.xxx.xxx/Cam /mnt/cam
            

            willst du über ftp löschen, muss du wohl sowas machen https://www.npmjs.com/package/basic-ftp?activeTab=readme

            bahnuhr 1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @liv-in-sky last edited by

              @liv-in-sky

              Installation:
              iob läuft in vm in proxmox auf einem extra nuc rechner
              Daneben habe ich eine synology mit laufwerke..
              Auf diese greif ich zu.

              Und nun möchte ich Dateien/Verzeichnisse auf den FP der Synology löschen.
              Und das ganze per script.

              ftp soll mir recht sein.
              Hatte ich ja oben auch probiert.

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @bahnuhr last edited by

                @bahnuhr

                habe mit fritzbox getestet

                du musst das im setting (als zusatznode) des javascriptadapters hinzufügen: basic-ftp
                das directory muss natürlich über ftp erreichbar sein (auf synology)

                Image 2.png

                im bild siehst du winscp - unten - mit dem file

                AApossis (122).gif

                das script

                
                const ftp = require("basic-ftp")
                
                example()
                
                async function example() {
                   const client = new ftp.Client()
                   client.ftp.verbose = true
                   try {
                       await client.access({
                           host: "192.168.178.1",
                           user: "username",
                           password: "password",
                           secure: false
                       })
                       await client.cd('test')
                       console.log(await client.list())
                       
                       await client.remove('filmstatus.txt')
                       console.log(await client.list())
                   }
                   catch(err) {
                       console.log(err)
                   }
                   client.close()
                }
                
                

                bahnuhr 2 Replies Last reply Reply Quote 1
                • bahnuhr
                  bahnuhr Forum Testing Most Active @liv-in-sky last edited by

                  @liv-in-sky

                  Danke für deine Hilfe.
                  Ich probier das nachher noch aus.
                  Melde mich dann.

                  1 Reply Last reply Reply Quote 0
                  • bahnuhr
                    bahnuhr Forum Testing Most Active @liv-in-sky last edited by

                    @liv-in-sky

                    Rückinfo von mir.

                    1. Testversuch hat geklappt.
                      Muss man schauen, was man damit alles machen kann.

                    Danke dir.

                    mfg
                    Dieter

                    1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active last edited by

                      @alle

                      Müsste dies nicht auch mit einem einfachen "exec" Befehl funktionieren.

                      Zum kopieren benutze ich z.B.

                      var Server = "ftp://dieter:xxx@192.168.xxx.x/Sicherung/Sicherung' 'ioBroker/Scripte/" + Jahr + "_" + Monat + "_" + Tag + "/";
                      exec('wput -q --basename=/opt/iobroker/Scripte/ /opt/iobroker/Scripte/global ' + Server, function (error, result, stderr) { if (error) { console.log(error + " " + result); } });
                      

                      Müsste dies nicht auch mit einem "del" oder "rm" funktionieren ?
                      Also Dateien löschen per exec.
                      Geht sowas ?

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @bahnuhr last edited by

                        @bahnuhr

                        bei mir funktioniert das auf der console:

                        curl -v -u user:passwort  ftp://192.168.178.1/test/filmstatus.txt -Q '-DELE filmstatus.txt'
                        
                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        882
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        javascript
                        3
                        13
                        404
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo