exécuter une commande toutes les 2 secondes

exécuter une commande toutes les 2 secondes - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 24-11-2003 à 12:34:17    

Salut
 
J'ai besoin d'aide pour un script
 
Je dois lancer une commande toutes les 2 secondes entre 8H00 et 10H00 et toutes les 5 minutes entre 10H01 et 12H00
 
cron ne gèrant que les minutes !
 
Je pense donc faire une boucle avec un sleep. Mais je ne suis pas très familier avec ceci.
Principalement pour faire le test des heures ?
 
 
Merci pour votre aide.

Reply

Marsh Posté le 24-11-2003 à 12:34:17   

Reply

Marsh Posté le 24-11-2003 à 13:13:21    

while [ 1 -eq 1 ]; do commande_a_executer; sleep 2; done


 
 
EDIT : je me suis arrété au titre :D


Message édité par bobuse le 24-11-2003 à 13:13:40
Reply

Marsh Posté le 24-11-2003 à 13:20:37    

while [ `date +%H` -lt 10 ]; do commande_a_executer; sleep 2; done


 
tu cronne ça à 8heure et ca rulezz normalement :D

Reply

Marsh Posté le 24-11-2003 à 14:48:49    

Le sleep 2 n'est pas tout à fait approprié:
Si la commande dure 1 seconde par exemple, le cycle total fait 3 secondes et la commande sera exécutée toutes les 3 secondes.
 
Il vaudrait mieux faire comme suit (je reprend l'ex ci-dessus):

Code :
  1. while [ `date +%H` -lt 10 ]; do ( commande_a_executer & sleep 2 ); done


 
Par contre si la commande dure plus de 2 secondes, tu vas avoir des surprises :)

Reply

Marsh Posté le 24-11-2003 à 14:57:48    

ouaip, un petit time serait le bienvenue quoi ;)

Reply

Marsh Posté le 26-11-2003 à 18:59:18    

Merci beaucoup pour votre aide, cela fonctionne :D

Reply

Marsh Posté le 13-12-2003 à 15:48:04    

redmail a écrit :

Salut
 
J'ai besoin d'aide pour un script
 
Je dois lancer une commande toutes les 2 secondes entre 8H00 et 10H00 et toutes les 5 minutes entre 10H01 et 12H00
 
cron ne gèrant que les minutes !
 
Je pense donc faire une boucle avec un sleep. Mais je ne suis pas très familier avec ceci.
Principalement pour faire le test des heures ?
 
 
Merci pour votre aide.


floodeur :o


---------------
emplacement a vendre
Reply

Marsh Posté le 13-12-2003 à 15:58:16    

alarm(2)
fork()
exec()

Reply

Marsh Posté le 22-12-2003 à 21:29:32    

KuNkS
 
C'est vraiment pas pour ennuyer les gens (flooder).  
 
C'est pour surveiller la mémoire et l'utilisation des HD via la commande vmstat.
 
Je sais que que vmsat peut s'utiliser comme vmstat 2 Xfois >vmstat.log mais le rapport obtenu est tout simplement dégueulasse.

Reply

Marsh Posté le 23-12-2003 à 08:54:08    

y a watch qui permet de faire ça

Reply

Marsh Posté le 23-12-2003 à 08:54:08   

Reply

Marsh Posté le 23-12-2003 à 11:26:23    

redmail a écrit :

C'est pour surveiller la mémoire et l'utilisation des HD via la commande vmstat.
 
Je sais que que vmsat peut s'utiliser comme vmstat 2 Xfois >vmstat.log mais le rapport obtenu est tout simplement dégueulasse.

Et si tu "parse" ton fichier log avec un truc style awk?


Message édité par teagle le 23-12-2003 à 11:26:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed