hallo! habe 2 probleme:
#1 ich bin ein programmier - nub kenn mich überhaupt mit nix aus ausser bissel mit visual basic also bitte um nachsicht
#2 ich hab einen server am laufen, und möchte eine *.csv-datei die auf irgendeinem server liegt automatisch 3 mal am tag zu einer bestimmten uhrzeit runterladen in die selbe directory und ersetzen, wie kann ich da am besten vorgehen?
danke für hilfe!
*visit* http://www.informatik-forum.at
automatischer file-download-dienst?
-
-
Naja, programmieren würd' ich da gar nix.
Unter normalen Servern einfach einen Cronjob mit wget (kleines Tool, dass was aus dem Netz lädt und speichert), such' mal nach Cronjob, oder tipp "man crontab" oder so.
Unter Windowsservern geht's vielleicht auch irgendwie, wget oder ähnliches sollte dort auch laufen, für das regelmäßig aufrufen einfach bissl rumklicken. -
hm was ich jetzt so gesehen habe, kann man damit nur autom. seiten aufrufen wo dann scripts laufen, aber auf der seite (hinter user und pw geschützt!) befindet sich ein file, was alle 5 std. auf meinen server runtergeladen werden soll...:omg:
-
wget ermöglicht auch das Herunterladen von Dateien, die mit der normalen HTTP-Authentifikationsmethode geschützt sind.
-
dann schau genauer! wget uebergibst du einfach eine url in der form "http://foo.net/bar.csv" und die wird dann herunter geladen. was meinst du mit diesen ominoesen "scripts"? wget kann sich auch mit benutzernamen / passwort auf servern anmelden. dazu schau dir die man-page des programms an. (man wget).
oder meinst du am ende gar "cron" selbst? aus deinem post werde ich nicht ganz schlau. wie auch immer, "man cron" und "man wget" liefern dir alles was du brauchst und gelbasack hat damit recht, dass dir genau die 2 tools helfen sollten dein problem zu loesen.
btw: wget $URL alleine wird dich nicht gluecklich machen, so bekommst du ueber die zeit berge an file.1, file.2, file.3,... dateien. aber du wirst es schon erraten haben: die man-page hat auch dafuer eine loesung parat (tipp: '-r').
-
hi erstma danke für die antworten, ich habe nun gegoogelt nu kommt bei man cron und man wget nichts brauchbares wo ich eine url eingeben könnte sowie bei cronjob, da kamen gleich 2 seiten da das anbieten ....
hat wer einen link oder so?
danke
lg -
Kannst du bitte mal die Voraussetzungen auf deinem Server beschreiben und was du genau machen willst?
Die Vorschläge, die hier gebracht wurden, teilen das Problem in zwei Teile auf:
- Immer wiederkehrendes Ausführen eines Skripts zu einem bestimmten Zeitpunkt. Das macht man in der Unix-Welt mit cron.
- Herunterladen einer Webseite und Abspeichern in einer lokalen Datei: Das kann man mit wget machen.
Unter Windows sieht das ganze ähnlich aus, ich kenn nur die Utensilien, die man verwenden kann, nicht.Auf jeden Fall kannst du das alles auf deinem bestehenden Server machen. Dazu musst du keine Dienste von Dritten in Anspruch nehmen.
-
also
ich will ein csv file alle 5 stunden von einem server runterladen auf meinen server und ersetzen mit dem alten file
kennt ihr das prinzip einer automatischen preisanpassung?
dazu möcht ich das tun, diese datei hat die infos, ich kanns in mein warenwirtschafssystem importieren und meine preise dem file entsprechend anpassen im system, nur möchte ich nicht manuell dieses file downoaden müssen, 3 mal tägl.
ich hoffe das hilft euch jetzt, mein problem zu verstehen
lg -
was ist das für ein server? windows oder linux?
-
windows sbs mit win-server 2003 und SP2
-
Statt Cron verwendet man unter Windows halt den Taskplaner ("Scheduled Tasks", falls es Englisch ist). wget gibts AFAIK für Windows auch.
-
hm leider kenn i mich auch damit nicht aus...
-
Wie sollen wir dir dann helfen? Du musst dich schon selber damit beschäftigen. Ein fertiges "Alle-fünf-Stunden-eine-.csv-Datei-herunterlad-Programm" wird es nicht geben.
-
Weder der Taskplaner noch wget sind so schlecht dokumentiert, als daß Du da nichts finden würdest, wenn Du ein bißchen googlest.
wget kann mit einem Kommandozeilenaufruf etwas herunterladen, zB
Für HTTP-Authentifizierung gibts dann noch Optionen, ich glaub
(nicht getestet)Und eine Option, mit welchem Dateinamen die Datei gespeichert werden soll, gibt's auch. Wenn Du ein wenig nachliest, wirst Du die bestimmt finden.
Den Kommandozeilenaufruf stellst Du dann im Taskplaner ein, und eben die gewünschten Zeiten.
-
is schwieriger als ich dachte XD
also mit dem taskplaner hab ich mich jeztt beschftigt, der macht mir nur zu best. zeiten programme auf, hab auch wget und easy-wget gegoogelt und überlegt könnte ja einen task mit dem easy-wget machen wo er das programm aufruft, dennoch muss man auf download und enter drücken, wenn man das file will....
wget selbst sagt immer ich soll im dos "wget [OPTION] URL eingeben"
dadurch das es hinter user und pw ist, hab ich versucht eben davor "--http-user meinuser --http-password mein pass" hinzuschreiben, das erkennt er nicht XD
ich seh mich da nicht raus, ich brauchn file vom web auf mein lokalen server 3 mal pro tag ersetzt, das das so schwierig zu verstehen ist, unds dafür keine nützlichen programme gibt hätt ich nicht gedacht (easy wget hat auch ein manko - es gibt keinen zeitplan!!)
naja wayne hmpf....:ahhh: :sudern:
also ok hab nochmal die dos hilfe von wget durchgelesen, da gibts unter abschnitt "download" allesmögliche, nur nicht des kürzel für den download selbst, oder ich kann schlecht englisch..
*ah* -nc
ich lerne minute für minute mehr dazu XD no comment mehr XD -
jetzt hab ich doch noch ne frage
habs nun fertig, nur läd er die datei local irgendwohin, anstatt in die richtige directory,, weiss jemand den command dafür? kann leider nicht so gut englisch und die beschreibung is aber ned in deutsch
habs so:
wget -nc http://user:pass@stuff.geizhals.at/kunden-downloa…mfort/daten.csv
das lädt er nun local auf "c:/dokumente/admin"
wie kann ich die ziel-dl directory abändern?
lg -
-
*ah* -nc
Sicher? -nc heißt, das File soll nicht runtergeladen werden, wenn du schon so ein File hast. D.h. du wirst dir irgendwann einmal das File holen, und dann wird wget -nc alle fünf Stunden sehen, daß du es eh schon hast, und keine neue Version holen.Ich glaube, du solltest eher -N ausprobieren.
-
ja wenn es unter stuff.geizhals.at nicht neuer ist als local, soll er es nicht laden, bringt ja nix.
-
ok meinst du wenn es überhaupt die datei daten.csv in dem localen ordner gibt, das er die dann nicht ersetzt....
ich meinte wenn die am server von geizhals von der letzen bearbeitungszeit her nicht neuer ist als local....
also "wget -n --directory-prefix........" kennt er nicht er sagt:
illegal option "n" -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!