Beendete Downloads automatisch entpacken??

Status
Für weitere Antworten geschlossen.

Alen

Benutzer
Mitglied seit
12. Jul 2008
Beiträge
57
Punkte für Reaktionen
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
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
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
 

Pusche

Benutzer
Mitglied seit
05. Mrz 2009
Beiträge
305
Punkte für Reaktionen
0
Punkte
0
guter Ansatz. Was ist, wenn die .rar-Datei passwortgeschützt ist?
 

smulg

Benutzer
Mitglied seit
30. Jan 2009
Beiträge
218
Punkte für Reaktionen
0
Punkte
0
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
 

Alen

Benutzer
Mitglied seit
12. Jul 2008
Beiträge
57
Punkte für Reaktionen
0
Punkte
0
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
 

smulg

Benutzer
Mitglied seit
30. Jan 2009
Beiträge
218
Punkte für Reaktionen
0
Punkte
0
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
 

Pusche

Benutzer
Mitglied seit
05. Mrz 2009
Beiträge
305
Punkte für Reaktionen
0
Punkte
0
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........
 

Alen

Benutzer
Mitglied seit
12. Jul 2008
Beiträge
57
Punkte für Reaktionen
0
Punkte
0
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...
 

smulg

Benutzer
Mitglied seit
30. Jan 2009
Beiträge
218
Punkte für Reaktionen
0
Punkte
0
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
 

Alen

Benutzer
Mitglied seit
12. Jul 2008
Beiträge
57
Punkte für Reaktionen
0
Punkte
0
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
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
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
 

f33l1ngs

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
64
Punkte für Reaktionen
0
Punkte
0
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
 

Antonio Veraldi

Benutzer
Mitglied seit
23. Okt 2010
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
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.
 

sonicwave3

Benutzer
Mitglied seit
12. Mrz 2011
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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
 

sonicwave3

Benutzer
Mitglied seit
12. Mrz 2011
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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