"printf" ausgabe hinten anhängen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von faber38, 05.12.2011.

  1. #1 faber38, 05.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    hallo,
    ich hänge bei meinem script immer an der gleichen Stelle...

    Code:
    
    ipPrefix="192.168.38";            # erster Teil der IP-Adresse
    ipsToCheck="4";                   # letztr Teil der IP-Adresse (können mehrere $
    var1="true";                      # Var1 für die IF-Abfrage
    Datum=`/bin/date +%Y-%m-%d-%H:%M` # Datum setzen
    yes_ping="updates erfolgreich"
    no_ping="Rechner war nicht eingeschaltet"
    
    for ipToCheck in $ipsToCheck; do
        if ping -q -c1 ${ipPrefix}.${ipToCheck} > /dev/null 2>&1; then
            var1="false";
            printf "$Datum -        $yes_ping\n" > d ;
        fi;
    done;
    
    if [ "$var1" = "true" ]; then
            printf "$Datum\n$no_ping\n" > d ;
    fi;
    
    
    nun möchte ich aber das die Datei "d" nicht immer neu geschrieben wird.. sondern die ereignisse sich hinten/unten in der Datei anhängen..
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 faber38, 05.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    habs...

    Code:
    
    ipPrefix="192.168.38";            # erster Teil der IP-Adresse
    ipsToCheck="4";                   # letztr Teil der IP-Adresse (können mehrere $
    var1="true";                      # Var1 für die IF-Abfrage
    Datum=`/bin/date +%Y-%m-%d-%H:%M` # Datum setzen
    yes_ping="updates erfolgreich"
    no_ping="Rechner war nicht eingeschaltet"
    
    for ipToCheck in $ipsToCheck; do
        if ping -q -c1 ${ipPrefix}.${ipToCheck} > /dev/null 2>&1; then
            var1="false";
            printf "$Datum -        $yes_ping\n" > d ;
            cat d >> e
        fi;
    done;
    
    if [ "$var1" = "true" ]; then
            # export DISPLAY=:0.0
            printf "$Datum\n$no_ping\n" > d ;
    fi;
    
    mit cat gehts...
     
  4. #3 marcellus, 05.12.2011
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    Es geht mit ">>", das hat mit cat nichts zu tun.
     
  5. #4 faber38, 05.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    oh.. danke.. da kann ich mir einige zeilen sparen !
     
  6. #5 faber38, 05.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    kann ich die größe der Datei noch eingrenzen ?
     
  7. #6 HeadCrash, 05.12.2011
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Mahlzeit,

    falls du meinst, das das Skript nur n Einträge in die Datei schreibt, dann kannst du das selbstverständlich Skripttechnisch abfangen.
    So in der Art:
    Code:
    [ `wc -l d` -ge 1000 ] && mv d d.old
    
    Oder du könntest die Dateien von logrotate rotieren lassen. Kriterien hier für sind, Größe, Alter oder Datum.

    mfg
    HeadCrash
     
  8. #7 marcellus, 05.12.2011
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    oder

    Code:
     tail -n 1000 blah > blah
     
  9. #8 faber38, 05.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    eine gute idee das über logrotate machen zu lassen...

    werde mal in /etc/logrotate.d mich ein wenig einarbeiten...
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #9 faber38, 05.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    ich habe nun unter /etc/logrotate.d folgende datei abgespeichert .. "message_update"

    mit folgendem inhalt
    Code:
    /var/log/message_update {
        notifempty
        missingok
        noolddir
        weekly
        rotate 4    
    }
    
    gebe ich logrotate -f /etc/logrotate.d/message_update ein wird diese nun auch rotiert.

    muss ich nun noch einen crontab erstellen oder werden alle dateien in /etc/logrotate.d automatisch abgearbeitet ?
     
  12. #10 faber38, 05.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    die frage hat sich erledigt... steht doch alles in der /etc/logrotate.conf
    es reicht in /etc/logrotate.d eine Datei anzu legen...
     
Thema:

"printf" ausgabe hinten anhängen

Die Seite wird geladen...

"printf" ausgabe hinten anhängen - Ähnliche Themen

  1. printf Formatierung: echo schreibt bei Ausgabeumleitung auf File nichts. Wieso?

    printf Formatierung: echo schreibt bei Ausgabeumleitung auf File nichts. Wieso?: #!/bin/sh ZAHL="372" FARBE="gelb" printf "%s%06d%s" "Bearbeitungsnummer 888" $ZAHL ", Farbe: $FARBE" echo printf "%s%06d%s" "Bearbeitungsnummer...
  2. printf modifizieren und stdout capturn

    printf modifizieren und stdout capturn: Hallo, ich moechte das Verhalten aller *printf Funkionen modifizieren und zwar sollen diese statt auf stdout in char strings schreiben. Mit...
  3. find -printf und sekundendarstellung

    find -printf und sekundendarstellung: Hallo, nach einem Ditsributionsupdate meiner Linuxdistribution gab es Probleme mit einem Skript. Folgendes Beispiel: find *.rm -type f -printf...
  4. awk: printf schlägt fehl, wenn Steuerzeichen im Argument

    awk: printf schlägt fehl, wenn Steuerzeichen im Argument: Hallo zusammen, ich hatte bis eben (für mich) unerklärliche Probleme, wenn ich mit dem folgenden AWK eine Datei durchlaufen habe, die ein...
  5. echo/printf Formatierung (Ausrichtung)

    echo/printf Formatierung (Ausrichtung): Hallo, kann man echo bzw. printf dazu bringen, Text rechtsbündig auszugeben? Oder muss man da awk bemühen? Wie macht man das?