Geçerli saati kontrol etmek ve günün uygun zaman değilse çalıştırmak için gerekiyorsa komut dosyası iptal gerekir. Ayrıca, başka biri çalıştırırsa, iptal edilmelidir.
Örneğin: Benim komut sadece 10 PM ve 02:00 (4 saatlik bir pencere) arasında başlatılırsa çalıştırmak gerekir.
Şu anda aşağıdakileri yapıyorum. date +%k%M
Sabit kodlu sayılarla zaman ayırıp karşılaştırmak
#!/bin/sh
currTime=`date +%k%M`
check_time_to_run()
{
tempTime=$1
if [ $tempTime -gt 200 -a $tempTime -lt 2200 ]; then
echo "Time is between 2 AM and 10 PM. Aborting."
exit 1
else
echo "Time is after 10 PM and before 2 AM. Running normally."
fi
}
check_time_to_run $currentTime
Zaman karşılaştırması açısından başka etkili bir yöntem olup olmadığını bilmek isterim sh
veya bash
?
@Eddy hayır tarih değil, karşılaştırmam gereken zaman.
—
mtk
Sanırım, saniyeler içinde daha iyi olurdu:
—
Eddy_Em
currTime=$(date +%s); lower=$(date +%s --date="2:00"); upper=$(date +%s --date="22:00"); if [$currTime -gt $lower -a $currTime -lt $upper]; then
…
senaryoyu neden crontab'a koymuyorsunuz? bu şekilde belirli bir zamanda
—
çalışmasını sağlarsınız
date +%s
.