Je dois vérifier l'heure actuelle et abandonner le script si ce n'est pas le bon moment de la journée, je suis censé l'exécuter. De plus, si quelqu'un d'autre l'exécute, il devrait abandonner.
Par exemple: J'ai besoin que mon script ne s'exécute que s'il est démarré entre 22 h 00 et 2 h 00 (une fenêtre de 4 heures).
Actuellement, je fais ce qui suit. Prendre le temps date +%k%M
et comparer avec des nombres codés en dur
#!/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
Je voudrais savoir s'il existe une autre méthode efficace en ce qui concerne la comparaison du temps dans sh
ou bash
?
currTime=$(date +%s); lower=$(date +%s --date="2:00"); upper=$(date +%s --date="22:00"); if [$currTime -gt $lower -a $currTime -lt $upper]; then
…
date +%s
.