Napisałem sobie prosty skrypt do uruchamiania pewnych analiz. Sprawdza on ilość wolnych licencji i jeśli jest wolna to uruchamia analizy, jeśli nie ma, czeka 3 minuty.
Uruchamiam go zdalnie na serwerze. Pytanie mam tylko, czy jest to programistycznie i technologicznie poprawnie.
Czy po wykonaniu polecenia:
Kod: Zaznacz cały
sleep
Rozważam sytuację, czy jeśli nie będzie wolnych licencji, przez np. 20 godzin nie stworzę tyle uśpionych procesów, że mnie admin zabije.
Jak to zrobić lepiej?
Plik ma nazwę an_start.sh:
Kod: Zaznacz cały
#!/bin/bash
lic=licencja
/bin/date +%D' '%T >> log.txt
lic_all='lic_status | grep $lic | grep of | cut -c 29'
lic_used='lic_status | grep $lic | grep of | cut -c 58'
lic_free=$[ lic_all-lic_free]
if [ "$lic_free" -gt 0 ];
then
echo "uruchomienie analizy" >> log.txt
else
echo "brak licencji - czekam" >> log.txt
sleep 3m
sh an_start.sh
fi
echo "_____" >> log.txt
Dziękuję za pomoc.
Pozdrawiam.