Odwołaj się w cronie do plików (np. skrypt.sh i gbak.sh z podaniem pełnych ścieżek)
i dopiero w tych plikach zdefiniuj szczegóły. W razie błędów lub przyszłych zmian nie będziesz
musiał poprawiać tego w cronie.
Ja stworzyłem sobie pliczek o nazwie cron_hourly.sh, który jest uruchamiany w cronie co godzinę.
W pliku są rozpoznawane godziny/dni tygodnia/dni miesiąca/dni roku i mam pełną kontrolę nad
skryptami uruchamianymi na rok do przodu z dokładnością co do godziny.
U mnie to się sprawdza, w razie zmian mam dużą swobodę i nie muszę grzebać w cronie.
w cronie dopisuje na stałe tylko jedną linijkę:
Kod: Zaznacz cały
# uruchamiamy pilk cron_hourly.sh co godzine
00 * * * * root /usr/aksnet/cron_hourly.sh 1> /dev/null
przykład cron_hourly.sh :
Kod: Zaznacz cały
#!/bin/sh
#================================================================
# plik uruchamiany co godzine
# w okreslonych porach uruchamia skrypty
#================================================================
godzina=$(date '+%k') # 0-23
dayOfWeek=$(date '+%u') # 1-7 (Monday=1)
dayOfMonth=$(date '+%d') # 1-31
dayOfYear=$(date '+%j') # 001 - 366
# echo $godzina
# echo $dayOfWeek
# echo $dayOfMonth
# echo $dayOfYear
# o godzinie x oraz y ... uruchamiamy plik qos.sh
if [[ $godzina -eq 0 || $godzina -eq 8 || $godzina -eq 12 || $godzina -eq 17 ]]
then
cd /usr/aksnet/qos
./qos.sh
fi
# ----------- restart serwera o godzinie 5:00 rano ----------------
#------------ restartujemy serwer co 7 dni ----------------------
if [[ $godzina -eq 5 && `expr $dayOfYear % 7` -eq 0 ]]
then
reboot
fi
#=================================================================