Archiv verlassen und diese Seite im Standarddesign anzeigen : cronjob, negative Zeitangabe?
Hallo Leute,
das Backup-bash ist wieder bei mir gelandet :o , ich zum Co-Sysop aufgestiegen.
Diesmal suche ich eine Möglickeit, einen Cronjob eine Viertelstunde vor Monatsende laufen zu lassen. (am jeweils 1. um 0:00:01 wird geplättet, vorher soll ein Backup gezogen werden.)
Habe mir die Pfoten wundgegoogelt nach negativen Zeitpunkten, und möchte mit den wunden Pfoten nicht unbedingt 12 (13) Termine eintragen müssen. :rolleyes:
Kann mir jemand weiterhelfen?
so long,
BlueJay
bla!zilla
05-11-2006, 19:16
Hi,
probier bitte folgendes Skript aus. Durch Zufall beim googlen gefunden und mal auf der Platte im Ablage-Verzeichnis abgelegt. :)
#!/bin/sh
# Das Aktuelle Jahr, Monat und Tag ermitteln
YEAR_NOW=`date +%Y` # Das Aktuelle Jahr mit 4 Zeichen (2003)
MONTH_DAY_NOW=`date +%d%m` # Tag und Monat zusammen (2804 für 28 Aril)
# Überprüfen ob das aktuelle Jahr ein Schaltjahr ist
if [ $(( $YEAR % 400 )) -eq 0 ]; # Wenn das Jahr durch 400 teilbar ist,
then # ist es ein Schaltjahr
FEB_LAST="2902"
elif [ $(( $YEAR % 100 )) -eq 0 ]; # Wenn das Jahr durch 100 teilbar ist,
then # ist es kein Schaltjahr
FEB_LAST="2802"
elif [ $(( $YEAR % 4 )) -eq 0 ]; # Normales Schaltjahr
then # Das Jahr ist durch 4 teilbar
FEB_LAST="2902"
else # Nicht-Schaltjahre
FEB_LAST="2802"
fi
# Restliche Monate definieren (AnzahlTage und Monate zusammen)
MONTH_LIST="3101 ${FEB_LAST} 3103 3004 3105 3006 3107 3108 3009 3110 3011 3112"
IS_LAST=0
for MONTH_LAST in ${MONTH_LIST};
do
if [ "${MONTH_DAY}" == "${MONTH_LAST}" ];
then
IS_LAST=1
fi
done
# Wenn ${IS_LAST} gleich 1 ist, ist jetzt der letzte Tag im Monat
if [ $IS_LAST -eq 1 ];
then
echo -e "Heute ist der letzte Tag im Monat `date +"%m"`"
else
echo -e "Leider noch nicht der letzte Tag im Monat..."
fi
exit 0
Ich habe zu deinem Problem gerade auch noch mal gesucht, das Problem haben / hatten auch mehrere, die häufigste Lösung ist und war aber ein Shell-Skript.
anda_skoa
05-11-2006, 20:17
Man könnte es in etwa so machen:
cronjob täglich 23:45
im Script mit
date +"%m"
bzw
date -d tomorrow +"%m"
Prüfen, ob die Zahl verschieden ist => morgen ist ein anderer Monat
Ciao,
_
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.