80 votes

Comment exécuter scripts toutes les 5 secondes ?

J'ai un script qui doit être exécuté toutes les cinq secondes. Je sais que cron peut effectuer des tâches à la minute, mais existe-t-il un moyen d'exécuter quelque chose à chaque seconde ?

2voto

Wedge Points 11910

La configuration minimale dans cron est de minutes, vous ne pouvez pas la définir pour 5 secondes. Vous pourriez utiliser Quartz qui autorise les secondes. http://www.Quartz-scheduler.org/docs/tutorials/crontrigger.html

2voto

qttty Points 29

Utilisez cacti pour surveiller le routeur et le commutateur, mais Cron ne permet qu'un minimum d'une minute, alors si un port/dispositif est hors service, il n'y a pas d'avertissement avant deux minutes.

1voto

Brian Points 145

J'ai fait ce genre de choses avec beaucoup de succès (et le résultat final dure des semaines, jusqu'à ce que la machine soit redémarrée). Quant à ce que je faisais en ce moment, mettre à jour les informations et les mettre en cache - mise à jour toutes les 10 secondes.

#!/bin/sh

SLEEP=5

# do stuff
sleep $SLEEP

# do stuff
sleep $SLEEP

# do stuff
sleep $SLEEP

# do stuff
sleep $SLEEP

# echo and restart...
exec $0

Le 'exec $0' redémarre le script, mais en remplaçant le script en cours d'exécution. Il peut être initialement lancé avec une ligne crontab '@reboot'.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X