ilch Forum » Allgemein » HTML, PHP, SQL,... » Daten verschieben mit Cronjob

Geschlossen
  1. #1
    User Pic
    butter Mitglied
    Registriert seit
    10.07.2008
    Beiträge
    319
    Beitragswertungen
    2 Beitragspunkte
    Hi

    Ich habe ein Ranking System das mit 4 UT3 Server gefüttert wird.

    Die UT3 Server machen Logs die dan auf der Website in einen ordner sollen und dort in die Datenbank verarbeitet werden.

    Die Name der Logs ändern sich immer ,der anfang ist aber immer gleich.

    Meine Frage wiekann ich die Logs von den einen Ordner in einen anderen Verschieben?

    Mfg brezel


    verwendete ilchClan Version: 1.1 N

    betroffene Homepage: godlike-rpg.de/utstats/
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Du hast deine Frage doch selbst beantwortet, wenn alle auf dem gleichen Server laufen und somit im gleichen Dateisystem liegen, kannst du sie mit mv (move) verschieben/umbenennen, dabei kannst du Platzhalter verwenden.

    Beispiel

    mv /dirs/source/dateianfang*.endung /dirs/destination


    Wenn du mehrere solche Befehle machen musst, kannst du sie auch in eine Datei schreiben und diese dann z.B. movelogs.sh nennen, mit dem Dateirecht ausführen versehen und diese im cronjob aufrufen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    TronKiller gelöschter User
    ich würde dir eventuell vorher noch empfehlen die Dateien umzubenennen. Die logs zählen häufig fortlaufend hoch. Wäre vllt bissel doof, wenn du die außversehen miteinander ersetzt zwinker

    wenn du sie immer z.b. in "lob_server1.endung" umbenennt, ändert sich auch bei beim auslesescript nichts.

    Bedenke bitte auch, dass der befehl mit dem * alle zutreffenden Dateien verschiebt/umbenennt. Also auch dateianfang001 bis dateianfang00X! Ich weiß nicht wie es speziell bei dem Spiel ist, aber bei CS:S werden mehrere logdateien gemacht (jedes mal eine neue beim neustart oder zu großer datei). Damit dann das Skript auch alle Aktivitäten mitbekommt, müsste es auch alle Dateien seit der letzten Verarbeitung auswerten (also 4 bis XXXX Dateien).

    Ohne Fakten über das verarbeitende Programm, kann ich daher nur die obigen Tipps geben. Ich vermute einfach mal, dass immer alle Logs rüber kopiert werden müssen. Was aber auch heißt, dass das Skript irgendwann sehr langsam wird, da es immer mehr Dateien komplett einlesen muss.

    Alles zwar nur spekulation, aber so ein prob hatte ich vor einiger Zeit auch mal. Mein Tipp dazu: Die Dateien vom Server1 erst umbenennen in "1_bisherigername" und die von Server2 in "2_bisherigername". Also die Dateinamen nur um die 1_ bzw 2_ erweitern. Nach dem verschieben kann man die Logs eventuell auch löschen (je nach Programm, wird dann einfach ein neuer Log-File angefangen). Das Skript bekommt somit immer nur die bisher unbekannten Logs zu sehen und muss nicht immer von vorne alles lesen.

    Vllt bringt dir mein Tipp ja etwas.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    butter Mitglied
    Registriert seit
    10.07.2008
    Beiträge
    319
    Beitragswertungen
    2 Beitragspunkte
    Also der Tipp trifft nicht bei mir zu weil:

    Die Logs alle zum 1 nen Ranking gehen also alle 4 Server laufen zum 1 Ranking und wenn man z.b auf server1 und2 spielt werden die errungenschaften von beiden zusammen gezählt.

    Sehr praktisch^^

    Ahja und das Funktioniert wunderbar ich wusste nur nicht den befehl^^


    Zuletzt modifiziert von butter am 18.01.2010 - 18:58:46
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten