L
luk3
Jungspund
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 ...
Habt ihr damit erfahrungen und könnt weiterhelfen?
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?