Beendete Downloads automatisch entpacken??

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Alen

Benutzer
Registriert
12. Juli 2008
Beiträge
57
Reaktionspunkte
0
Punkte
0
Hallo zusammen

Ich habe mir 'unrar' per ipkg installiert, funktioniert alles soweit. Damit kann man rar files direkt auf der DS entpacken (mit der neuen Firmware geht es sogar via GUI).
Was ich möchte ist jedoch, dass beendete Download Task (Torrents) automatisch entpackt werden, wenn sie beendet sind (D.h. 100% erreicht haben)

Gibt es eine Möglichkeit dazu? Kann mir irgendwie den "Status" der Downloadtasks abfragen und wenn dieser 100% ist, einen entsprechenden Job starten, um das File zu entpacken? Das Ganze könnte man ja via Cron Job 1x pro Stunde überprüfen....

Was meint ihr?

Gruss
Alen
 
Kann mir irgendwie den "Status" der Downloadtasks abfragen und wenn dieser 100% ist, einen entsprechenden Job starten, um das File zu entpacken? Das Ganze könnte man ja via Cron Job 1x pro Stunde überprüfen

Das mit dem Cron ist nicht wirklich geschickt. Besser wäre es, wenn man bei dem Download-Manager (und auch bei allen anderen DS Modulen), ein Ereignis-Auslöse-Mechanismus hätte, wo man zu Beginn und am Ende weitere Aktionen (Shell-Skripte usw.) automatisch aktivieren könnte. In meinen Augen wäre das für die Synology-Entwickler nicht allzu schwierig, so etwas einzubauen, aber sie sind ganz vorsichtig mit Features, die ein DAU nicht auch kapieren würde. Aber es kann ja jemand mal einen Entwicklungsvorschlag via Synology-Support-Anfrage schicken. Ich wäre auf die Antwort sehr gespannt.

Itari
 
guter Ansatz. Was ist, wenn die .rar-Datei passwortgeschützt ist?
 
guter Ansatz. Was ist, wenn die .rar-Datei passwortgeschützt ist?

Na wer macht denn sowas? Pfui! :eek:;)

Ich könnte mir schon vorstellen dass das mit einem Cron-Job geht, der einmal die Stunde im Incoming-Verzeichnis nach Archiven sucht. Allerdings müssen dann die Archive nicht nur entpackt werden, sondern auch an einen anderen Ort verschoben (oder gleich gelöscht) werden, sonst werden die immer wieder entpackt. Und eine Überprüfung, ob das Entpacken funktioniert hat wäre auch nicht schlecht.

Grüße
Smulg
 
Klar ist die Cron Lösung so toll. Der Anstoss Mechanismus, wie von itari erwähnt, wäre schon eleganter..

Aber wenn man es trotzdem mit cron machen möchte:

Bei Passwort geschützen files wirds natürlich nicht so einfach. Ausser das Passwort würde sich irgendwie aus dem Filenamen bestimmen (pharsen) lassen.

Aber gehe ich richtig der Annahme, dass nur die fertigen downloads im incoming verzeichnis gespeichert sind, oder? Die Downloads, die noch nicht fertig sind, sind doch in einem anderen System Verzeichnis..oder?

Anderesseits müsste man sicherstellen, dass die files nicht immer wieder entpackt werden, d.h. man müsste prüfen, wurde es schon entpackt, fall ja, dann nicht mehr entpacken...

Gruss
Alen
 
Ja, im Incoming Verzeichnis sind nur die fertigen DLs.

Wenn du nach dem Entpacken die Datei umbennenst (z.b.: statt .rar auf .fertig) dann werden die Daten nur einmal entpackt (Wenn du nur .rar-Dateien)

Passwort: Du kannst dir den Rückgabewert einer Funktionen anzeigen, aber auch in eine Datei schreiben lassen. Log doch einfach mit, dann siehst du obs funktioniert. Und wenn dann ein Entpacken nicht erfolgreich war weil das Archiv passwortgeschützt ist, dann kannst du manuell eingreifen. (Oder wenn das Archiv beschädigt ist, dann kannst du es gleich löschen (lassen)).

Grüße
Smulg
 
Aber gehe ich richtig der Annahme, dass nur die fertigen downloads im incoming verzeichnis gespeichert sind, oder? Die Downloads, die noch nicht fertig sind, sind doch in einem anderen System Verzeichnis..oder?


richtig........
 
Ja, im Incoming Verzeichnis sind nur die fertigen DLs.

Wenn du nach dem Entpacken die Datei umbennenst (z.b.: statt .rar auf .fertig) dann werden die Daten nur einmal entpackt (Wenn du nur .rar-Dateien)

Aber nach einer Unbenennung, kann man wahrscheinlich die Dateien nicht mehr weiterseeden...
 
Stimmt. Das Weiterseeden funktioniert dann sicher nicht mehr.

Dann könntest du den Dateinamen von den Archiven die schon entpackt sind einfach in eine Datei schreiben und mit dieser Liste vergleichst du dann.

Grüße
Smulg
 
Genau, einen ähnlichen Ansatz habe ich schon in einem anderen forum gefunden:

Rich (BBCode):
#!/bin/sh

cd /media/disk/incoming/unpacking/

for file in $(find /media/disk/incoming/finished/ -iregex '.*\.\(rar\|001\)')
do
    echo -n "checking file ${file##*/}..."
    onblacklist=`grep -c $file /media/disk/incoming/unpacking/blacklist`
    if [ $onblacklist -ne 0 ]; then
        echo "already unpacked"
    else
        echo "not unpacked yet"
        echo -n "unpacking..."
        unrar e -inul -o- $file
        echo "done!"
        echo -n "adding to blacklist..."
        echo $file >> /media/disk/incoming/unpacking/blacklist
        echo "done!"
    fi
done
ls -rt /media/disk/incoming/unpacking/ | grep -v '\(^unpack_torrents.sh$\|^blacklist$\|^cron.log$\)' | xargs -I{} mv {} /media/disk/incoming/unpacked/

Werde das mal versuchen entsprechend anzupassen
 
Eifrig, eifrig. Aber warum mailt denn niemand die Anforderung den Synology-Entwicklern? Mein Eindruck vom dem Chef-Entwickler auf der CeBIT war eher so, dass die Jungs gerne solchen Input aufnehmen. Klar wird es nicht von jetzt auf gleich geschrieben; man muss schon ein paar Wochen warten. Aber wer sich nicht rührt, bekommt da nichts.

Itari
 
Hallo zusammen,

bitte nennt mich nicht Leichenschänder, weil ich den alten Thread wieder ausgrabe :rolleyes: Ich bin gerade durch die Suche drauf gestoßen und wollte keinen neuen mit dem selben Thema aufmachen.

Deshalb eine Frage, weil für mich aktuell interessant: Hat jemand ein funktionierendes Skript, das fertige Downloads (.rar) automatisch entpackt? Oder wäre jemand interessiert daran, so etwas zu entwicklen? :)

Viele Grüße,
f33l1ngs
 
is ja scho wieder ganz schön alt hier..

ich würde mich au freuen wenn einer son script hinkrigt, zum auto entpacken, am besten abfragen wenn fertig geseedet, dann entpacken und sofort löschen.
 
ich habe mich auch gerade mal daran versucht
leider mit mäßigem erfolg

Rich (BBCode):
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "verzeichnis_zum_script/torrent_done.sh"

mein script schaut so aus

Rich (BBCode):
#!/opt/bin/bash

# Variablen setzen
TRANSMISSION_HOME=/usr/local/transmission
COMPLETEORDNER=/volume1/Downloads/Complete
EXTRACTORDNER=/volume1/Downloads/Extracted

# Auspacken
unrar x $COMPLETEORDNER/$TR_TORRENT_NAME $EXTRACTORDNER/$TR_TORRENT_NAME/

leider macht das script nicht was es soll
wenn ich $TR_TORRENT_NAME mit dem richtigem torrentnamen ersetze

Rich (BBCode):
unrar x $COMPLETEORDNER/whatever $EXTRACTORDNER/whatever/

und das script manuell laufen lassen funktioniert es wunderbar

ich hatte noch die verzeichnisrechte in verdacht
da ich ja das script manuell als root starte
wenn der torrent fertig ist das script jedoch vom transmission-daemon ausgeführt wird
passt aber alles

leider gibt mir /var/log/messages nicht genügend aus um noch zu sehen woran es liegt :(
kann es an den $variablen liegen?
habt ihr einen tipp?

viele grüße
sonic
 
edit: habs

Rich (BBCode):
/usr/syno/bin/unrar x $COMPLETEORDNER$TR_TORRENT_NAME $EXTRACTORDNER$TR_TORRENT_NAME/
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat