Je sais comment faire chaque minute, mais qu'en est-il toutes les 10 secondes?
14
Vous ne pouvez pas planifier le travail toutes les dix secondes, mais je suppose que vous pouvez planifier le travail pour qu'il s'exécute toutes les minutes et dormir en boucle à des intervalles de 10 secondes. Cela dépendrait de l'exécution de votre commande avant l'expiration de l'intervalle de dix secondes, ou vous obtiendrez un chevauchement lors de l'exécution de la prochaine commande. Cela semble être une solution précaire, mais si vous pouvez garantir une exécution très courte de la commande principale du script, cela fonctionnerait.
#!/bin/bash
i=0
while [ $i -lt 6 ]; do
/run/your/command &
sleep 10
i=$(( i + 1 ))
done
J'ai eu une tâche similaire la semaine dernière. Ma solution était de multiplier les entrées cron standard à la fréquence souhaitée. Mon crontab ressemble à:
Si vous voulez vérifier les résultats de myscript.php, par exemple pour le débogage, ajoutez simplement
à chaque ligne de la crontab ci-dessus. Ensuite, stderr et stdout sont redirigés vers le fichier journal.
la source
J'utiliserais Monit et définirais le temps de cycle à 10 secondes. C'est une façon propre de gérer cela en dehors du système cron.
Je le fais avec certains scripts qui doivent s'exécuter sur un intervalle de 15 secondes.
Voir: Comment effectuer des sauvegardes incrémentielles / continues du pool zfs?
la source
Cron ne permet qu'un minimum d'une minute. Vous pouvez essayer ceci -
la source
Si vous voulez passer sous 10 secondes, par exemple 5 secondes, je recommande de faire une boucle de travail avec un petit script comme ça:
Si vous devez dépasser la seconde, ajoutez des microsecondes à la commande date.
la source
Ici, le script peut être exécuté avec l'intervalle de 10 secondes ...
la source