Script automatisch ausführen

Ich möchte ein Script automatisch ausführen lassen
Es werden XML-Dateien auf den Server hochgeladen(mit FTP), die dann mit einem Script in die Datenbank übertragen werden sollen
Aber wie macht man das, dass das Script automatisch startet ,ohne das ich irgendetwas tun muß ??
Die Dateien werden nicht von mir auf den Server übertragen, sodass ich möchte ,das das Script von selbst startet und die Dateien in die Datenbank einliest

Nun spontan als erste Lösung würde ich vorschlagen, das du/andere statt FTP lieber per PHP Script die XML Dateien hochlädst. Damit kannst du bestimmen das was hochgeladen wurde und dein DB-Script sofort ausführen lassen.

Mfg

Ein anderes Stichwort dazu wären noch Cronjobs, falls deine Serverkonfiguration das zulässt.

MfG Icy

Nein, das geht leider nicht
Die Daten werden mit FTP hochgeladen und sollen danach in die Datenbank eingelesen werden

Das Script an sich ist für mich kein Problem, nur wie kann man das starten ?

Man könnte das Script automatisch alle 5 oder 10 Minuten starten , ist aber auch keine gute Lösung

Für was wird es denn benötigt? Muss man vorher eine andere Seite besuchen? Wenn ja, kannst du ja auf dieser Seite eine Abfrage einbauen, ob es neue xml Dateien gibt und wenn ja, dann dein DB-Script ausgeführt wird. So aktualisiert sich deine DB bei jedem Besuch deiner Seite, sobald es neue Dateien gibt.

Fals du verstehst, was ich meine.

Mfg

lädst du alle paar minuten was hoch oder einmal am tag oder wie machst du das?

ein cron, der alle x minuten nachsieht ob was in die datenbank zu schaufeln ist muss nur ordentlich eingestellt sein.
per ftp kannst du kein script starten.

wirf es doch einfach nach dem hochladen maunuell an.

Nein, leider nicht
An diese Möglichkeit habe ich auch schon gedacht
Jedes mal , wenn jemand die Seite besucht das Script zur Aktuallisierung ausführen
Die Dateien werden einfach nur per FTP auf den Server geladen ohne, das vorher eine Seite besucht wird

Man könnte alle 5-10 Minute das Script ausführen,
ist aber auch nicht so toll :cry:

2-3x täglich , bin aber nicht immer zu Hause und hab auch nicht dauernd Zeit zum Nachschauen

Ja, daher meine Frage: „Wo werden die DB-Daten benötigt?“
Dazu muss man meisst eine Seite besuchen, um an die Daten der DB zu kommen. Auf dieser Seite kannste ja am Anfang die von mir erwähnte Abfrage einbauen.

Wenn die XML->DB Daten nicht für eine Webseite benötigt werden, dann verzeihe mir meine Vorschläge.

Mfg

dann ist der vorschlag, das script beim ersten aufruf der seite zu starten doch gut.

ein cron sieht alle paar minuten nach, ob was zum umschaufeln ist. wenn ja, erledigt er den job.
ansonsten wird beim ersten aufrufer nach dem upload das script getsartet, dass der ausnahmsweise ein paar sek warten muss, merkt er ja kaum.

Die Daten werden schon für meine Webseite benötigt, aber sie werden einfach nur in ein Verzeichnis auf dem Server hochgeladen, ohne dass vorher eine Seite besucht wurde
Kann man nicht das Script starten, wenn sich die Größe des Verzeichnis
verändert und neue Dateien hinzukommen ?

Ich glaube, die beste Lösung ist, jedesmal , wenn jemand die Startseite anklickt das Script automatisch zu starten
Dann ist die Datenbank immer aktuell

je nach aufkommen an daten kann sowas einige sekunden bis zu minuten daueren. das hängt eben von der datenmenge ab.

wenn es nur wenige daten sind, eine gute und sichere lösung.

Aber eine andere Lösung gibts doch gar nicht, oder ?

Oder fällt dir noch was anderes ein ?

Nun, du hast geschrieben, das es 2-3 XML Dateien sind. Sofern eine nicht über 10MB ist, brauchst du dir keine Sorgen machen. Über 10MB/Sek/DD wirds erst „interressant“ :wink:

Evt. würde es auch mit einem externen Programm gehen, welches auf dem Webspace-Rechner läuft. Aber ich denke, solange man keine extremen Mengen an Daten sind, sollte deine Methode völlig ausreichend sein.

Selbst Freehoster meckern nicht, wenn man einen 25mb großen SQL Dump per PHP in einem Schritt reinpumpt. Also sollte es bei 2-3 XML Dateien auch keine Probleme geben.

Mfg

ich mache das in kombination mit einem cronjob.

grosse datenmengen warten, bis der cron sie einliest (ich rede hier von 50-100 MB daten). kleinere sachen lasse ich auch vom ersten besucher einlesen oder aufbauen. z.b. rss-feeds.

Erweitere dein Script das es erkennt ob Änderungen da sind falls ja soll er es ausführen und das ganze lässte mit nem Cron ausführen wenn du keine zu verfügung hast kannste die bei Cronjob.de - Kostenlose Cronjobs / Crontab einen Account erstellen um das ganze zu realisieren

Nein, ich hab das jetzt so gemacht, wie ich schon geschrieben hab

Jedesmal, wenn einer die Startseite aufruft ,überprüft das Script ,ob neue Dateien im Verzeichnis sind
Geht alles ziemlich schnell, ohne Verzögerungen
Das sind übrigens die Nachrichten ,die ihr auf meiner Seite seht
Wenn ja, dann werden die Meldungen in die Datenbank eingelesen,danach in ein Backup-Verzeichnis kopiert und gelöscht
Nur das Löschen funktioniert noch nicht, kann auch an den Rechten liegen, bin grad dabei das zu überprüfen