script was log die logeinträge kopiert und umbenennt

  • hi,


    auch nach stundenlangen ausprobieren und suchen komme ich nich weiter.


    Ich möchte ein script erstellen was die Logeinträge Einträge von unseren Portalen automatisch auf meinen Server kopiert. Das läuft auch testweise. Jedoch wird immer die log datei überschrieben. Das ist aber gar nicht in meinen interesse! Also muss irgendwie eine Lösung her die die datein mit dem aktuellen Datum versieht. Fortlaufend nummerien würde auh gehen.


    Es wird doch irgendwie möglich sein das aktuelle Datum mit in den Dateinamen zu schreiben? Wie?


    alles in allem ja ein sehr kleines script


    #! /bin/sh
    # vdr-logs auf server kopieren (und umbenennnen)
    #
    smbmount ******************************************(muss ja nicht jeder sehen) ;)
    cp /var/log/everything/current /video/server/vdr-logs/log_'date +%d'


    Mounten und kopieren funzt ja auch soweit. Nur wie kann man das mit dem aktuellen datum realisieren?


    danke lexi

  • Hmm. Sollte etwa so gehen..


    Code
    #! /bin/sh
    # vdr-logs auf server kopieren (und umbenennnen)
    #
    smbmount ******************************************(muss ja nicht jeder sehen)
    DATE_STR=$(date +%F) 
    mv /var/log/everything/current /video/server/vdr-logs/log_$DATE_STR
    touch /var/log/everything/current


    So etwa, getestet hab ich nicht extra.

  • hi,


    wirbel vielen Dank


    klasse sache, läuft soweit, Datum format hab ich meinen wünschen angepasst. So ähnlich hatte ich das auch schon versucht! Allerdings mit

    Code
    DATE=date +%d.%m.%Y

    und

    Code
    cp /var/log/everything/current /video/server/vdr-logs/$DATE

    .


    Nur so damit ich auch weiß was ich mache, was ist der Unterschied zwischen DATE= und DATE_STR ?


    Kann mir jemand die letzte Zeile erklären? Habe sie mal auskommentiert und es funktioniert genauso.


    Edit on
    der touch befehl ist mir bekannt aber warum soll der bei der orginalen Datei aufgerufen werden?
    Edit off


    danke lexi

  • Moin!


    Code
    der touch befehl ist mir bekannt aber warum soll der bei der orginalen Datei aufgerufen werden?


    logrotate geschädigte gewöhnen sich sowas an :D


    Einige Prozesse haben grosse Sorgen, wenn Ihnen ihr Logfile unter dem Hintern wech gelöscht wird. Sie legen es dann z.t. nicht neu an, beenden sich, oder was auch immer.
    Also gibt man diesen Prozessen nach dem wegschieben sicherheitshalber eine neue leere Datei zu fressen, deshalb der touch.


    wys


    SirTobi

    Alte Hardware: Nova-T (neu), DXR3-Karte (RealMagic), Duron 1300+, 256MB Ram
    Software: VDR (devel), Kernel 2.6.16, Slackware 10.2.0


    Neue Hardware: Compaq Deskpro PIII-733, PVR-350, PVR-500,256MB Ram
    Neue Software: VDR(latest stable), Kernel 2.6.21.1, Slackware 11.0.0, ivtv 0.10.2, pvrinput+pvr350 (Wirbel/Seltsam), lirc


  • Der Unterschied ist der Name der neu erzeugten Variable. Du könntest du genauso JOHANNES oder HUEHNCHENBRUST einsetzen. *g*
    Der touch Befehl erzeugt eine neue leere Datei um Probleme zu vermeiden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!