Skript - letzten Samstag im Monat

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von luk3, 12.05.2012.

  1. luk3

    luk3 Jungspund

    Dabei seit:
    30.04.2012
    Beiträge:
    13
    Zustimmungen:
    0
    Hallo zusammen,

    ich möchte gerne unser backup über ein skript starten lassen, dieses soll aber nur am letzten Samstag im Monat laufen.
    Ich habe mich da schon was umgehört und auch was vorbereitet.

    Wenn ich das skript in der bash direkt ausführe, wird mir das richtige datum ausgegeben. Wenn ich jedoch das skript über ein cronjob ausführen lasse, verschiebt sich das zieldatum um einen tag nach hinten.

    Beispiel:
    Angenommen, heute ist der 29. der letzte Samstag im Monat und ich führe das skript in der bash aus.
    - es wird mir angezeigt, dass der 29. der letzte samstag im monat ist und das heute der 29. ist.

    Wird das skript aus der crontab herraus aufgerufen, wird angezeigt das der 30. der letzte samstag im monat wäre und heut der 29. ist! Hier ist irgendwo ein fehler ....

    Anbei ein stück des Codes ...

    Code:
    #!/bin/bash
    # Pruefen ob letzter Samstag im Monat
    let when=`cal | cut -d ' ' -f6 | egrep "[0-9]{2}" | tail -n1`
    echo $when
    
    let now=`date "+%d"`
    echo $now
    
    if [ $when -eq $now ];
    then
            echo "letzter samstag"
    else
            echo "kein letzter samstag"
    fi
    exit 0;
    
    Habt ihr damit erfahrungen und könnt weiterhelfen?
     
  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. doc

    doc Kaffeetrinker

    Dabei seit:
    26.08.2006
    Beiträge:
    586
    Zustimmungen:
    0
    Ort:
    bremen
    warum nicht einfac mit cron selbst lösen ?

    man crontab:
    also für dich z.B. 0 0 5 * sat /path/to/script
     
  4. luk3

    luk3 Jungspund

    Dabei seit:
    30.04.2012
    Beiträge:
    13
    Zustimmungen:
    0
    weil ich bisher keine information gefunden habe, dies mit cron zu lösen. Google hat mir auch keine möglichkeit aufgezeigt und bin dann auf ein zusatz-skript umgestiegen.

    Werde das mal testen, danke für den tipp.
     
  5. doc

    doc Kaffeetrinker

    Dabei seit:
    26.08.2006
    Beiträge:
    586
    Zustimmungen:
    0
    Ort:
    bremen
    hmmh ... allerdings

    benutze ich dcron (dillon's lightweight cron daemon) unter arch linux

    unter debian vixiecron, und da finde ich das auch nicht in der manpage, also keine ahnung obs überhaupt so geht
     
  6. luk3

    luk3 Jungspund

    Dabei seit:
    30.04.2012
    Beiträge:
    13
    Zustimmungen:
    0
    aha, ich nutze CentOs und RedHat als Betriebssystem. Werd das dennoch mal testen.
     
  7. luk3

    luk3 Jungspund

    Dabei seit:
    30.04.2012
    Beiträge:
    13
    Zustimmungen:
    0
    Hab da keine möglichkeit sowas zu konfigurieren. Die crontag ist ja wie folgt aufgebaut

    Minute | Stunde | Tage (1-31) | Monat (1-12) | Wochentag (1-7 o. Mon-Sun).


    Vielleicht im skript was anders?
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 Spröde, 14.05.2012
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    War da nicht was mit absoluten Pfaden, wenn es um cron geht? Damit kenne ich mich aber nicht aus.

    Du könntest dem "cal" in Deinem Script mal explizit den Monat und das Jahr mit angeben. Oder einen anderen Algorithmus benutzen, um festzustellen, ob der letzte Samstag des Monats erreicht ist:
    Code:
    #!/bin/bash
    
    if [ $( /bin/date +%w ) = 6 ]; then
      if [ "$( /bin/date -d +7days +%m )" != "$( /bin/date +%m )" ]; then
        echo "Heute ist der letzte Samstag des Monats"
      else
          echo "Heute ist nicht der letzte Samstag des Monats"
      fi
    else
      echo "Heute ist kein Samstag"
    fi
    
     
  10. luk3

    luk3 Jungspund

    Dabei seit:
    30.04.2012
    Beiträge:
    13
    Zustimmungen:
    0
    Hi, mit deinem skript läuft das besser.

    Danke für die hilfe.
     
Thema:

Skript - letzten Samstag im Monat

Die Seite wird geladen...

Skript - letzten Samstag im Monat - Ähnliche Themen

  1. Shell Skript beschleunigen

    Shell Skript beschleunigen: Hallo zusammen, ich bin neu hier und hab gerade angefangen mich an Schell Skripte zu wagen. Nun hab eine Frage ich hab ein Skript geschrieben und...
  2. Kontextmenü mit einem Skript verbinden

    Kontextmenü mit einem Skript verbinden: Abend, wenn ich z. B. eine simple Umwandlung eines Bildformates in ein anderes über das KDE-Kontextmenü (Servicemenü nennt es sich im KDE oder...
  3. [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen

    [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen: Hallo, ich hoffe ihr könnt mir helfen. Ich entwerfe im Moment ein Skript, welches den Callmonitor (Telnet) auf meiner FritzBox abfragt und wenn...
  4. Kunden-Skript ausgelöst durch Linux-Cluster Pacemaker

    Kunden-Skript ausgelöst durch Linux-Cluster Pacemaker: Hallo! Ich komme aus der AIX-Welt wo es im HACMP-Cluster die Möglichkeit der Ausführung eines Start- bzw. Stop-Skriptes im Zuge einer...
  5. Shell-Skript Datum in einer Datai suchen

    Shell-Skript Datum in einer Datai suchen: Hallo zusammen Ich komm eigentlich aus der Klicki-Bunti-Welt von Windows. Seit geraumer Zeit versuche ich meine Künste mit verschiedenen...