Ergebnis 1 bis 1 von 1
-
15.09.2014, 21:23 #1Networker
Datei auf HDD regelmäßig aus dem Internet "Updaten"
ich wollte für einen Zweck (genauer gesagt: für eine eigene Webseite, die auf meinem Homeserver läuft) eine XML-Datei cashen (Zwischenspeichern), auf die jeneWebanwendung regelmäßig zugreift. Ich wollte die Datei nicht mittels PHP cashen, sondern von Windows selbst in einem bestimmten Zeitabstand regelmäßig "Updaten" lassen.
Genauer: Auf der Festplatte (Sei es folgender Ort: C:\temp\file.xml), liegt eine Kopie der XML-Datei aus dem Internet - da sich diese Datei aber regelmäßig ändert, sie aber nicht bei jedem Seitenaufruf neu runtergeladen werden soll, wollte ich die Datei von Windows selbst alle 30 Minuten neu runterladen und überschreiben lassen (sofern sie schon vorhanden ist).
Dadurch hat die Webanwendung immer eine (nahezu) aktuelle XML-Datei und spart massig Performance.
Zur Lösung dieses Problems habe ich eigentlich hier die Frage gestellt, doch das war zu voreilig, ich habe im Internet eins, zwei Anregungen gefunden, etwas gegoogelt und habe dann folgende Hilfen gefunden, aus denen ich dann meine Lösung zusammenbastelte:
http://stackoverflow.com/questions/4...very-x-minutes
http://superuser.com/questions/25200...b-in-windows-7
Und zum Nachmachen, hier eine Schritt für Schritt Anleitung:
- Die Idee war erstmal, Windows in einem bestimmten Zeitintervall (z.B. alle 30 Minuten) einen Task (also eine Aufgabe) ausführen zu lassen
- Dann muss dieser Task natürlich in der Lage sein, eine Datei aus dem Internet zu downloaden und diese auf der Festplatte zu speichern bzw. zu überschreiben
Um das zu realisieren bin ich wie folgt vorgegangen:
- Die Aufgabenplanung unter Windows öffnen (Ich benutze Windows 8.1, sollte aber in allen vorigen Versionen die noch supportet werden (also bis einschl. Windows Vista) genauso, oder ähnlich funktionieren): Die Systemsteuerung öffnen, alle Systemsteuerungselemente anzeigen lassen und "Verwaltung" öffnen. Dies geht auch einfach, indem man in die Adresszeile des Explorers folgendes eingibt: Systemsteuerung\Alle Systemsteuerungselemente\Verwaltung
Mit sicherheit kann man das bzw. die Aufgabenplanung auch direkt mit der Windows-Suche finden. In diesem Ordner sollte nun eine Verknüpfung "Aufgabenplanung" zu sehen sein, diese bitte öffnen - Einen neuen (einfachen) Task anlegen: Einfach oben im rechten Bereich auf "Einfache Aufgabe erstellen..." klicken
- Nun könnt ihr dem Task irgendeinen Namen und eine Beschreibung geben (damit ihr ihn später auch wiederfindet), dann auf "Weiter" klicken
- Der Task soll täglich ausgeführt werden, darum klickt ihr bitte auch "täglich" an und klickt dann auf "Weiter"
- Der Task soll täglich um 00:00 Uhr starten, darum lasst ihr das Datum in dem Feld so wie es ist (sollte ja das heutige Datum sein) und ändert die Zeit auf 00:00:00, die Wiederholung setzt ihr entsprechend auf 1 Tag. Den Klick auf "Weiter" nicht vergessen
- Ihr lasst den Hacken wo er ist, ihr wollt ein Programm ausführen, klick auf "Weiter"
- In dem Feld tragt ihr folgendes Skript ein (einfach einfügen):
Code:powershell.Exe -command "& {$client = new-object System.Net.WebClient;$client.DownloadFile('http://www.domain.com/file.xml','c:\temp\file.xml')}"
- Ihr klickt nun auf Weiter und werdet gefragt, ob ihr powershell.Exe auch wirklich mit den angegebenene Argumenten ausführen wollt, dies bejaht ihr
- Ihr werdet nun nochmal einen Überblick erhalten und hackt unbedingt das untere Kästchen an: Beim Klicken auf "Fertig stellen", die Eigenschaften für diese Aufgabe öffnen
- Nach dem Klick auf Fertig stellen, öffnen sich die Eigenschaften und ihr klickt bitte den Tab "Trigger" an
- Wählt den in der Liste angezeigten Trigger aus und klickt auf "Bearbeiten"
- Im unterem Bereich (Erweiterte Einstellungen) hackt ihr an "Wiederholen jede:" und gebt dahinter den gewünschten Wert ein (z.B. 30 Minuten) (Achtung, ihr müsst keinen aus der Liste vorgegebenen Wert nehmen, ihr könnt ihn auch abändern!!)
- Daneben steht "für die Dauer von:", da habe ich "Sofort" ausgewählt, ich dachte mir, dass das für den gewünschten Zweck richtig sein muss
- Ihr klickt auf "OK" und dann nochmal auf "OK" um die beiden Fenster zu schließen, ihr müsstet jedoch noch das Hauptfenster der Aufgabenplanung geöffnet haben, hier sollte auch eine Liste mit den Tasks zu sehen sein.
- Sucht in der Liste euren Task und macht einen Rechtsklick drauf und sagt "Ausführen", um das Ganze von jetzt an zu starten und um es zu testen - es sollte für eine kurze Zeit ein schwarzes Kommandozeilen fenster zu sehen sien, welches dann verschwindet, danach sollte sich die heruntergeladene Datei im gewünschten Verzeichnis befinden.
- Wenn alles richtig klappt, sollte sich dieser Vorgangn alle (z.B.) 30 Minuten wiederholen, sodass die Datei alle 30 Minuten aktualisiert wird.
Vielleicht konnte ich damit ja noch dem einen oder anderen helfen
mfG.
Networker
PS: Für Verbesserungsvorschläge bin ich natürlich gerne offen
-
Datei auf HDD regelmäßig aus dem Internet "Updaten"
Schau dir mal diesen Bereich an. Dort ist für jeden was dabei!
Ähnliche Themen
-
PS3 Video "inkompatible Datei": Hallo. Ich lade öfters serien bzw Videos bei Youtube runter um sie dann auf meiner PS3 anzuschauen. Z.B Lade ich eine Detektiv Conan Folge ( 2... -
Suche PS2/3 Spiele "Shadow of the Colossus"; "ICO"; "We love Katamari": Wie schon im Titel steht, Suche diese 3 PS2 Titel (und hoffe, dass sie auf der ps3 laufen!) Es gibt sie nicht mehr neu zu kaufen, und bei... -
Tausche/verkaufe "Little BIG Planet", "Motorstorm", "Burnout Paradise" und "Skate": hi, hab diese drei Spiele anzubieten, alle OVP und in einwandfreiem Zustand. Ich bräuchte einen original Sony Sixaxis Controller, da ich bis jetz... -
Datei "wieder finden": Hallo, ich hab mal wieder scheiße gebaut und einfach eine wichtige datei versteckt... Ich find sie jetzt nur nicht mehr... Wie kann ich die...
Ein Remaster brauch ich echt nicht. Da hätte ich viel lieber weitere Filme wie Dark Side of Dimensions, die mit den alten Charakteren aufkommen. Das...
Der Yu-Gi-Oh! Anime & TCG-Thread