Linux: Befehle nur alle zwei Wochen ausführen
Innerhalb eines Cronjobs der täglich gestartet wird um mittels rsync meine Backups von verschiedenen Servern zu machen wollte ich alle zwei Wochen eine zusätzlichen Aufgabe starten. Mittels folgenden Zeilen im dem täglichen Script konnte ich das erreichen.
YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`
DAYOFWEEK=`date +%u`
if [ $DAYOFWEEK = 7 ]
then
FIRST_WEEK_IN_MONTH=`date +%V -d $YEAR-$MONTH-01`
WEEK_FOR_DAY=`date +%V -d $YEAR-$MONTH-$DAY`
DIFF=$(($WEEK_FOR_DAY - $((10#$FIRST_WEEK_IN_MONTH))))
if [ $DIFF = 0 ] || [ $DIFF = 2 ]
then
echo this is the third or first or sunday
rsnapshot -q biweekly
fi
fi