Expression Cron: différence entre 0/1, 1/1 et *


15

Dans une expression cron, quelle est la différence entre 0/1, 1/1et *?



1
Pourquoi le vote négatif, s'il vous plaît? Des informations manquantes? La question appartient-elle à un autre site stackexchange?
sdabet

Passez la souris sur la flèche vers le bas; la fenêtre contextuelle indique " Cette question ne montre aucun effort de recherche; elle n'est pas claire ou n'est pas utile ". Les votes négatifs sans commentaire peuvent être présumés être pour au moins une de ces raisons - bien que je note que le downvoter s'est rétracté depuis.
MadHatter

Merci @MadHatter, je n'ai pas encore assez de réputation pour voir les détails du vote
sdabet

Réponses:


20

Cela dépend de l'emplacement des termes

  • 0/1 signifie commencer à 0 tous les 1.
  • 1/1 signifie commencer à 1 tous les 1.
  • * signifie toutes les valeurs possibles.

donc

  • Pour les colonnes minutes, heures et jour de la semaine, le 0/1et *sont équivalents car ils sont basés sur 0.

  • Pour les colonnes Jour du mois et Mois 1/1et *sont équivalentes car elles sont basées sur 1.


Cela a-t-il un sens à utiliser 0/1pendant des mois alors? Ce qui se passerait?
sdabet

4

Dans la définition de crontab, la signification des cinq champs date / heure est:

  1. À quelles minutes de l'heure (donc de 0 à 59)
  2. À quelle heure de la journée (donc de 0 à 23)
  3. À quel jour du mois (donc du 1 au 31)
  4. À quel mois de l'année (donc de 1 à 12 ou noms - jan, fév, ...)
  5. A quel jour de la semaine (donc de 0 à 6 ou noms - dim, lun, ...)

Un * signifie du premier au dernier élément de la plage. Un n / x signifie commencer à n, à chaque valeur x.

Dans votre cas, cela peut se traduire par:

  1. Aux minutes 0
  2. À partir de minuit, toutes les heures (ce qui est similaire à *)
  3. Chaque jour du mois
  4. À partir du premier mois (janvier), chaque mois (qui est similaire à *)
  5. Chaque jour de la semaine (pour le premier *)

La fin semble incorrecte (? *) Car elle se trouve à la place de la commande. Ou à la place du nom d'utilisateur et de la commande s'ils sont extraits d'un fichier sous /etc/cron.d/et non de la crontab d'un utilisateur spécifique.


0

Le 0/1 signifie toutes les 1 min ou chaque mintue et 1/1 signifie chaque mois je pense, mais je ne suis pas sûr que cela fonctionnera de cette façon pendant le mois.


Quelle est alors la différence entre 0/1, 1/1et *?
sdabet

Le 0/1 est en position heure.
user9517

celui-là est pour l'heure
vic

Bien sûr, mais puis-je remplacer la partie horaire 0/1par 1/1exemple? Est-ce que cela signifiera la même chose?
sdabet

N'est-ce pas la même chose que mettre 0ou 1alors?
sdabet
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.