PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Automatic download script



mxlabs
22.11.05, 12:27
Ich brauche eine art download manager der auf einem lan server laufen soll und folgende aufgaben hat:

Bekommt über eine webseite durch ein formular einen link und eine mail adresse vom absender geschickt.

er soll dann den die daei aus dem link laden und sobald die datei fertig geladen ist eine email an den absender schicken mit einer nachricht: "ihr download ist fertig heladen, bitte HIER klicken um die datei auf ihren computer runterzuladen".

INFO: Das netzwerk in dem ich bin hat ungefair 400 personen die alle über eine internet verbindung rausgehen und tagsüber downloads machen. (somit dauert es eine ewigkeit bis man mal eine internet seite geöffnet hat).

Die lösung des problems wäre downloads verbieten..:(will ich aber nicht machen).. daher hatte ich die idee eine download page aufzumachen auf der man den download den man haben will als link reinkopieren kann und der server alle downloads über nacht macht weil da das inet unbenutzt ist, und sobald er fertig ist eine mail and denjenigen schickt der den download in auftrag gegeben hat mit einem link sodass er die datei über lan runterladen kann...

Hat einer eine Idee wie ich sowas hinbekomme? oder ob es schon etwas vergleichbares gibt?

marce
22.11.05, 12:32
ob's sowas schon gibt - keine Ahnung.

Ansonsten - php / perl bekommt den Link über ein html-Formular, schreibt ihn an eine csv-Datei hinten dran (-> Liste von URLs und MailAddis), wget arbeitet nachts die Liste (-> URL extrahieren) ab, nach erfolgreichem Download Mail an User schicken, fertig.

Geschätzer Scripting-Aufwand: 2h

mxlabs
22.11.05, 13:10
k.. das bedeute ich erstelle einen cronjob der das script zu einer bestimmten zeit startet,, Nur wie stellt das script fest ob der download fertig ist?

marce
22.11.05, 13:11
na, er wird wohl fertig sein, wenn wget beendet ist?

mxlabs
22.11.05, 13:34
genau nur muss ich doch ein script haben das rausfindet wann wget beendet ist .? oder gibt es in wget eine funktio die ein script nach beendigung ausführt??

Ich hab noch nicht so viel ahnung vom scripten, wäre gut wenn du mir das nen bissel mehr im detail erklären könntest..

So wie ich das bis jetzt sehe ist da ein php script welches alle aktionen ausführt ? im csv stehen nur die daten die wget brauch ? Php liest csv aus und führt "wget http://test.com/test.zip" aus ? Wie kann ich durch dieses script denn feststellen ob wget beendet ist ?

marce
22.11.05, 13:40
php-script schreibt email-addi und url in datei "downloads.csv"

cronjob startet 1x pro Nacht ein Script, welches folgendes tut:


für jeden Zeile in downloads.csv
splitte in url, email
wget url
mail email "url downgeloadet / gedownloadet"
done
downloads.csv löschen


... das kann ein php, Perl oder Shellscript sein...

mxlabs
22.11.05, 14:23
ok... gibt es noch die mäglichkeit das man den download status abfragen kann (notfalls über wget logs)?

marce
22.11.05, 16:08
ja

man bash
man wget