Brauche mal nen Linux-Freak (nochmal)

  • Hallo,

    ich bin mal wieder back to the roots gegangen und probiere ein wenig in Linux rum.
    Eine Sache weiss ich nicht mehr, kann ich nicht und finde auch in zahlreichen "Usergroups" keine Antwort:

    wie erzeugt man eine Datei (via cron), die aus einem festen Teil und dem Datum samt Zeit als variablen Teil besteht ?

    Sollte so funktionieren im crontab:

    <programm> >> /tmp/tmp_test/ergebnis-<datum>.log

    Das mit Zeit/Datum als Teil des Dateinamen bekomme ich leider nicht hin.

    Wäre nett, wenn mir jemand eine Lösung geben könnte.

    Merci und schöne Feiertage

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

    Einmal editiert, zuletzt von liracon (4. Juni 2006 um 01:55)

  • Code
    man date

    ist Dein Freund

    Die Eingabe

    Code
    ls -l > liste_$(date '+%d%m%Y%H%M%S')

    zeigt Dir zB den Verzeichnisinhalt mit Angabe von Datum und Uhrzeit.

    Das kannst Du auch in die Cronfiles einbauen.

    Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.14) Gecko/20080410 SUSE/2.0.0.14-1.1 Firefox/2.0.0.14

  • vielen herzlichen Dank ! Funktioniert.

    Bei man date hatte ich geschaut, aber da kam bei mir nur "date(1) wird neu formatiert...." und das wars dann.
    Unter info date wird nur die Syntax und Description angezeigt.

    Aber wieder was gelernt.

    Merci.

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • Hallo,

    leider funktioniert es nur auf Console, nicht im Cron.

    Fehler:

    /bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
    /bin/sh: -c: line 1: syntax error: unexpected end of file

    Syntax:

    meespln -R -n 1 > /tmp_protocoll/meespln_$(date '+%Y-%m-%d-%H:%M:%S')
    cron-table: alle 10 Minuten

    Der Befehl meespln -R -n 1 > /tmp_protocoll/meespln.log funtkioniert einwandfrei, liegt also schon am date, irgendwie !?!?!?

    Vielleicht kann mir noch jemand einen Tipp geben.
    Merci

    /edit
    probiert auf suse und debian

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • Cron nimmt nicht die bash als Shell, sondern sh. Versuch mal statt

    Code
    /tmp_protocoll/meespln_$(date '+%Y-%m-%d-%H:%M:%S')
    Code
    /tmp_protocoll/meespln_`date '+%Y-%m-%d-%H:%M:%S'`

    , also Shift + backquote.

    Des Weiteren würde ich komplette Pfadangaben verwenden.

    Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.14) Gecko/20080410 SUSE/2.0.0.14-1.1 Firefox/2.0.0.14

  • Pfadangaben sind komplett: das Verzeichnis liegt direkt unterm Root.

    Leider nimmts der Cron auch so nicht. Wenn ich das in ein Script schreibe, und im Cron mit sh <scriptfile> aufrufe, dann funktioniert es. Im crontab direkt nicht. Verstehe einer diese Linuxwelt ;)

    Gleiches Problem mit Datei umbenennen:
    abcdefgh1234file -> abcdefAAAAfile geht nicht im cron, geht nicht auf Console, aber im Script.

    Ist die Syntax (gerade auch wenn man mit Variablen arbeitet) so unterschiedlich bei Suse ?
    Komme ursprünglich von der Unix-Welt, C-Shell & Co, damals wars noch anders ;)

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • Ich denke, wenn es an wem liegt, dann am crond, weniger an SuSE. Da ich den aber nicht benutze, kann ich Dir dazu nicht viel mehr sagen. Ich würde im cronfile eh Scripten angeben und nicht die direkten Befehle.

    Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.14) Gecko/20080410 SUSE/2.0.0.14-1.1 Firefox/2.0.0.14

  • Zitat von liracon


    Komme ursprünglich von der Unix-Welt, C-Shell & Co, damals wars noch anders ;)


    Du kannst dir jederzeit die c-shell installieren, falls die bei Suse mitgeliefert wird, es gibt unter GNU/Linux keinen Bash-Zwang :wink: (normalerweise heißt das Paket csh)

    Jensiii: /bin/sh müsste unter GNU/Linux eigentlich standardmäßig auf Bash linken. (kann aber natürlich bei Suse anders sein.)

  • Hallo allerseits,

    vielen Dank für die Infos.
    Es hat sich scheinbar ein Installationsfehler (oder Configfehler) eingeschlichen. Nachdem unter C-Shell sogar die crons funktioniert haben, habe ich das System nochmal neu aufgesetzt, jetzt funktionieren die Befehle auch direkt im Cron.

    Aber es ist wirklich besser, Crons via Script aufzurufen denn direkt einzugeben, werde ich zukünftig auch so machen.

    Merci an alle die geholfen haben.

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)