Zum Inhalt springen

viele URLs per Script aufrufen


Empfohlene Beiträge

Hallo,

ich habe eine große Anzahl Datensätze auf einem Server liegen. Diese Datensätze sind Reiseangebote. Da diese Reiseangebote abgelaufen sind, will ich sie gelöscht haben.

Damit man Datensätze löschen kann, hat dessen Verwalter eine Webseite vorgesehen, auf der man dann einen Datensatz per Button-Klick löschen kann. Die durch den Button-Klick aufgerufene URL sieht dann so aus:

http://www.domain.de/del_angeb.php?=1208;vis=suu

Es sind aber ungefähr 500 Angebote zu löschen. Daher würde ich gern diese Löschaktion automatisieren, per Script zum Beispiel. Könnte mir jemand bitte erklären, wie ich das am Besten mache? Bevorzugt für Windows. Eine Debian-Installation habe ich aber auch hier rumliegen. Ginge also auch.

thx

Link zu diesem Kommentar
Auf anderen Seiten teilen

nun ich schätze die datensätze bzw. reiseangebote sind im hintergrund in einer mysql datenbank gespeichert...

dann würde ich dir einfach empfehlen dich per phpmyadmin einzuloggen und dir einen sql befehl zu schreiben die alle datensätze entfernt die abgelaufen sind. ( where klausel )

ps: schönes weekend

Link zu diesem Kommentar
Auf anderen Seiten teilen

@sYnTaxx:

Ich habe keinen Direktzugriff auf diese Datenbank.

@kills

Danke. Da muss ich mich erstmal durcharbeiten und, ich nehme mal an, PHP installieren.

Geht das nicht auch einfacher? Im Endeffekt will ich doch nur das, was ich mit einem Mausklick auslöse, per Befehl auslösen. Wie in einer Batchdatei, den Befehl mit der URL und aufsteigender Angebotsnummer immer wieder aufrufen lassen. Meinetwegen auch in einer Schleife. Evt. mit nem Break von 5 Sekunden dazwischen, um den Server Luft zum Atmen zu lassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tja, schreib doch einfach ein PHP- oder Perl-Script, das den Qelltext der Übersichtsseite, von der aus du löschst, ausliest und die ganzen IDs rausarbeitet. Dann generierst du, am besten noch im selben Script, für alle IDs jeweils einen Aufruf der Löschseite, bei dem auch die jeweilige ID übergeben wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@kLeiner_HobBes

So habe ich mir das in etwa auch vorgestellt. Nur hätte ich gern gewusst, wie man in PHP und/oder in Perl solch eine URL aufruft, also wie die Methode heißt. Optimal wäre sogar ein kleines Beispielscript. :)

Aber gibt es auch noch andere Lösungen? Ich müsste ja immer erst Perl/PHP einrichten samt Apacheserver.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was hast du denn für Möglichkeiten, wenn du Perl/PHP erst einrichten mußt?

Scriptansatz wäre etwa so:


//in $ids sind alle zu löschenden IDs angegeben
foreach ($ids as $id)
{
$fp = fopen("http://www.domain.de/del_angeb.php?=$id;vis=suu","r");
fclose($fp);
}
[/PHP]

[b]Ungetestet!![/b]

Und ich weiß auch nicht, ob das Script dann nach ner Weile abbricht, weil der Server dann nen Script-Timeout sendet. Vielleicht muß man es häppchenweise durchlaufen lassen oder so.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, ich hab mich nur gewundert, wenn es dir so viel Mühe bereitet, jedesmal PHP oder Perl mitsamt Apache zu installieren, was du dann sonst nehmen willst.

Pause im Script: sleep(). Aber, wie schon gesagt: Wenn du nur ne begrenzte Laufzeit für das Script hast, dann ist sleep() umso gefährlicher :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich dachte da an Javascript, VBA, eben Zeug, was man schon standardgemäß auf einer Windowsmaschine drauf hat. Aber egal. PHP müsste sowieso demnächst für ein anderes Projekt drauf.

Mit begrenzter Laufzeit für das Script meinst du, dass der PHP-Interpreter das Script irgendwann abbricht, ja?

Ich habe das andersherum verstanden. Nämlich dass der Server, den ich ständig aufrufe, die Grätsche macht. Sorry, bin da nicht besonders firm drin.

Häppchenweise durchlaufen lassen, hieße also, mehrere Scriptdateien nacheinander über ein Masterscript aufrufen lassen oder die die Scripte manuell nacheinander selbst starten?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nun, wenn du das lokal auf deinem Rechner laufen läßt, dann mach dir wegen der Laufzeit keine Gedanken (vielleicht mußt du höchstens ein Timeout in php.ini oder so hochsetzen). Ich dachte halt, daß du das auf nem Server deines Providers o.ä. laufen lassen willst, weil jene meistens einen Laufzeitbegrenzer oder so drinhaben.

Da du von Windows sprichst: ja, ok, könnte man vielleicht auch mit VBS machen, da weiß ich aber net, wie's geht. Ich würd PHP dafür nehmen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@kills

Danke. Habe nun aber schon das Komplettpaket installiert. :)

@kLeiner_HobBes und alle anderen

Wie heißt diese Timeout-Variable, mit der man die Ausführungszeit der php-Scripte einstellt? Habe php5 installiert.

Ich fand in der php5.ini zwar dieses hier:

max_execution_time = 1200 ; Maximum execution time of each script, in seconds

Das scheint es aber nicht zu sein. Ich habe nämlich zu Testzwecken den Wert auf 3 runtergesetzt und nach Rechnerneustart ein Script per sleep() über 10 Sekunden laufen lassen. Das Script wurde dennoch erfolgreich ausgeführt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab mir mal die oberste user contributed note zu sleep durchgelesen:

MPHH

05-Jul-2003 09:33

Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), the sleep() function, database queries, etc. is not included when determining the maximum time that the script has been running.

Klingt interessant
Link zu diesem Kommentar
Auf anderen Seiten teilen

Aha, das erklärt's.

Ansonsten, die Variable scheint schon die Korrekte dafür zu sein. Nach ein paar Testläufen habe ich dann gestern endlich das Script auf den produktiven Server losgelassen. Nach ca. 20 Minuten bzw. 1200 Sekunden, brach das Script ab. (hatte natürlich den Wert in der php5.ini wieder hoch auf standard (1200) gesetzt).

Prima, Script funktioniert genau so, wie ich es gewollt habe. Dank an alle Beteiligten. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...