April 23, 20242 yr Hallo Leute, Ich bin neuer Unraid User und habe ein Skript über das User Script plugin hinzugefügt um alte videoaufzeichnungen automatisch zu löschen. Ich kriege jedoch ständig den folgende Fehler beim ausführen des Skripts angezeigt: Quote Script location: /tmp/user.scripts/tmpScripts/DelCamRec/script Note that closing this window will abort the execution of this script . ./.bash_history ./.config ./.config/sakura ./.config/sakura/sakura.conf ./.bashrc ./.bash_profile ./.docker ./.ssh ./.wget-hsts /tmp/user.scripts/tmpScripts/DelCamRec/script: line 3: /mnt/user/CamRecords/video/ZTLVF/1_2024-04-21_18-54-37_449.mkv: Permission denied DONE Hab natürlich versucht über andere Beiträge das Problem zu lösen jedoch ohne erfolg. Hab es über chmod probiert und auch über unraid direkt mit der docker safe new perms. Freue mich über eure Vorschläge.
April 23, 20242 yr Community Expert 1 hour ago, unDog said: Freue mich über eure Vorschläge. Zeig doch mal das script
April 23, 20242 yr Author 5 minutes ago, cz13 said: Zeig doch mal das script Bitteschön: Quote #!/bin/bash find /mnt/user/CamRecords/video/ZTLVF/*.mkv -mtime +1 -type f -exec rm -f {}\;
April 23, 20242 yr lass mal über die Console die Dateirechte anzeigen: ls ls -lah /mnt/user/CamRecords/video/ZTLVF/
April 23, 20242 yr Author 6 minutes ago, Archonw said: lass mal über die Console die Dateirechte anzeigen: ls ls -lah /mnt/user/CamRecords/video/ZTLVF/ Ausgabe: Quote drwxrwxrwx 1 nobody users 70 Apr 21 18:54 ./ drwxrwxrwx 1 nobody users 58 Apr 21 08:54 ../ -rw-rw-rw- 1 nobody users 4.4M Apr 21 18:55 1_2024-04-21_18-54-37_449.mkv drwxrwxrwx 1 nobody users 6 Apr 21 08:54 grabs/ drwxrwxrwx 1 nobody users 86 Apr 21 18:54 thumbs/
April 23, 20242 yr Author 4 minutes ago, Archonw said: Okay. Berechtigungen sehen gut aus. Welches Dateisystem hast du dort im Einsatz? Als Storage ist Cache->Array ausgewählt. Cache ist btrfs und die disk ist xfs.
April 23, 20242 yr Author 49 minutes ago, Archonw said: Kannst du schauen, auf welchem Datenträger die Datei liegt? Liegt auf Disk 1.
April 23, 20242 yr Ich bin mir leider nicht sicher was da jetzt klemmt. Du kannst mal schauen, ob du die Datei über die Console erfolgreich löschen kannst, wenn du magst. rm /mnt/user/CamRecords/video/ZTLVF/1_2024-04-21_18-54-37_449.mkv
April 23, 20242 yr 8 hours ago, unDog said: Bitteschön: Quote #!/bin/bash find /mnt/user/CamRecords/video/ZTLVF/*.mkv -mtime +1 -type f -exec rm -f {}\; Boah... Ich hoffe das ist ein Fehler das du hier eine neue Zeile hast... Der syntax gefällt mir nicht wirklich hier... Das skript versucht dein /root verzeichnis zu löschen... Bitte mach es doch ein wenig anders: #!/bin/bash cd /mnt/user/CamRecords/video/ZTLVF find . -name "*.mkv" -mtime +1 -type f -exec rm -f {} \; Zuerst gehst du ins Verzeichnis mit cd dann fürhst du find im aktuellen Verzeichnis mit . aus und suchst nach allen Dateien die mit "*.mkv" enden im verzeichnis und allen unterverzeichnissen. EDIT: Wenn du nur im Verzeichnis "/mnt/user/CamRecords/video/ZTLVF" ohne Unterverzeichnissen suchen willst dann muss das so aussehen: #!/bin/bash cd /mnt/user/CamRecords/video/ZTLVF find . -maxdepth 1 -name "*.mkv" -mtime +1 -type f -exec rm -f {} \;
April 23, 20242 yr Author 1 hour ago, ich777 said: Boah... Ich hoffe das ist ein Fehler das du hier eine neue Zeile hast... Der syntax gefällt mir nicht wirklich hier... Das skript versucht dein /root verzeichnis zu löschen... Bitte mach es doch ein wenig anders: #!/bin/bash cd /mnt/user/CamRecords/video/ZTLVF find . -name "*.mkv" -mtime +1 -type f -exec rm -f {}\; Zuerst gehst du ins Verzeichnis mit cd dann fürhst du find im aktuellen Verzeichnis mit . aus und suchst nach allen Dateien die mit "*.mkv" enden im verzeichnis und allen unterverzeichnissen. EDIT: Wenn du nur im Verzeichnis "/mnt/user/CamRecords/video/ZTLVF" ohne Unterverzeichnissen suchen willst dann muss das so aussehen: #!/bin/bash cd /mnt/user/CamRecords/video/ZTLVF find . -maxdepth 1 -name "*.mkv" -mtime +1 -type f -exec rm -f {} \; Bei dem ersten vorgeschlagen Code kriege ich folgende Ausgabe: Quote Script location: /tmp/user.scripts/tmpScripts/DelCamRec/script Note that closing this window will abort the execution of this script find: missing argument to `-exec' Beim 2. Code: Quote Script location: /tmp/user.scripts/tmpScripts/DelCamRec/script Note that closing this window will abort the execution of this script
April 23, 20242 yr Author 2 hours ago, Archonw said: Ich bin mir leider nicht sicher was da jetzt klemmt. Du kannst mal schauen, ob du die Datei über die Console erfolgreich löschen kannst, wenn du magst. rm /mnt/user/CamRecords/video/ZTLVF/1_2024-04-21_18-54-37_449.mkv Über die Konsole wurde die Datei gelöscht. Edited April 23, 20242 yr by unDog
April 23, 20242 yr Author Seltsamerweise komme ich über meine Dateimanager App in jeden share rein, nur nicht in den CamRecords Ordner. "Zugriff abgelehnt"
April 23, 20242 yr Hallo unDog 1 hour ago, unDog said: find: missing argument to `-exec' Der Grund bei dem ersten Befehl ist ein fehlender Abstand nach den Schlaufenklammern "{}\;" -> "{} \;" Der zweite Befehl hat geklappt, deswegen hast du nach "Note that closing this window will abort the execution of this script" keine weitere Meldung mehr erhalten. Ich werde dir gleich noch was basteln, just a moment 😉
April 23, 20242 yr #!/bin/bash # Pfad zum Verzeichnis TARGET_DIR="/mnt/user/CamRecords/video/ZTLVF" # Dateimuster, nach dem gesucht werden soll FILE_PATTERN="*.mkv" # Mindestanzahl von Tagen, die eine Datei alt sein muss, bevor sie gelöscht wird MIN_DAYS=1 # Maximale Tiefe der Verzeichnissuche MAX_DEPTH=1 #---------------------------------------------------------------------------------------------------- # Finde und lösche Dateien "-type f" in TARGET_DIR, die sich MAX_DEPTH im Verzeichniss befinden, # älter als MIN_DAYS sind und dem Muster FILE_PATTERN entsprechen find "$TARGET_DIR" -maxdepth "$MAX_DEPTH" -type f -name "$FILE_PATTERN" -mtime +"$MIN_DAYS" -exec rm {} \; if [ $? = 0 ]; then echo "Skript erfolgreich ausgeführt." else echo "Es ist ein Fehler im Skript aufgetreten." fi Etwas leichter zu handhaben, einfach die Variablen oberhalb der Trennlinie ändern und das Skript ausführen. Zusätzlich etwas Erklärung dazu. Grüsse Edited April 24, 20242 yr by Amane
April 23, 20242 yr Author 2 hours ago, Amane said: #!/bin/bash # Pfad zum Verzeichnis TARGET_DIR="/mnt/user/CamRecords/video/ZTLVF" # Dateimuster, nach dem gesucht werden soll FILE_PATTERN="*.mkv" # Mindestanzahl von Tagen, die eine Datei alt sein muss, bevor sie gelöscht wird MIN_DAYS=1 # Maximale Tiefe der Verzeichnissuche MAX_DEPTH=1 #---------------------------------------------------------------------------------------------------- # Finde und lösche Dateien "-type f" in TARGET_DIR, die sich MAX_DEPTH im Verzeichniss befinden, # älter als MIN_DAYS sind und dem Muster FILE_PATTERN entsprechen find "$TARGET_DIR" -maxdepth "$MAX_DEPTH" -type f -name "$FILE_PATTERN" -mtime +"$MIN_DAYS" -exec rm {} \; if [ $? = 0 ]; then echo "Skript erfolgreich ausgeführt." else echo "Es ist ein Fehler im Skript aufgetreten." fi Etwas leichter zu handhaben, einfach die Variablen oberhalb der Trennlinie ändern und das Skript ausführen. Zusätzlich etwas Erklärung dazu. Grüsse Hallo Amane, vielen Dank, sehr nett von dir. Ich hab das mal jetzt so eingefügt und es gab keine Fehlermeldung. Wenn morgen die 24h rum sind, sehe ich ob die von mir erstellte Datei dann gelöscht wird. Zusätzlichen Dank auch an ich777 und Archonw.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.