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

      schau mal hier. Vielleicht hilft das ja weiter.

      Wenn es sich um Dateien älter als xx Tage handelt
      nuzte ich um alte Aufnahmen meiner Cam zu löschen folgenden Befehl.
      Die 19 steht für das alter der Tage.

      find /Verzeichnis/* -mtime +19 -type d -exec rm -rf {} \;
      
      bahnuhr 1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @falke69 last edited by

        @falke69

        Und wie machst du das ganze per Script?

        falke69 1 Reply Last reply Reply Quote 0
        • 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

                            810
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            javascript
                            3
                            13
                            417
                            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