Planification de tâches cron sans collision de fréquences

0

Si j'ai plusieurs tâches cron qui s'exécutent:

  1. Chaque minute
  2. Toutes les 5 minutes
  3. Toutes les 15 minutes
  4. Toutes les heures
  5. À minuit

Puis à exactement 00:00, j'ai 5 travaux en même temps.

Je veux ajouter un autre travail, que je dois simplement exécuter "une fois par jour" - peu importe le moment! En fait, je veux que le "quand" soit pendant le temps de chargement du serveur minimal

Comment puis-je faire ceci?

Mikhail
la source

Réponses:

0

Une façon de le faire est la suivante:

  1. appelez le script prévu une fois par heure.
  2. Lors de la première exécution du script, recherchez un fichier temporaire appelé .runTime.
  3. Si tel fichier existe
    1. Analysez-le et obtenez le format au format 24 heures.
    2. Si l'heure actuelle est égale au temps analysé
      1. Supprimer le .runTimefichier et exécuter le script souhaité
    3. Si l'heure est différente - annulation d'exécution
  4. S'il n'y a pas de fichier de ce type et que l'heure est 0 (minuit)
    1. calculer une heure aléatoire entre 0 et 23 et l'écrire dans le fichier
Mikhail
la source