crontab (5) définit les champs suivants:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
et explique:
Step values can be used in conjunction with ranges. Following a range with ``/<number>'' specifies skips of the number's value through the range. For example, ``0-23/2'' can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is ``0,2,4,6,8,10,12,14,16,18,20,22'').
Donc, pas d'emplois bihebdomadaires, autant que je sache. Je suis sûr qu'il existe des solutions de contournement, quelles sont les vôtres? Ou ai-je raté quelque chose?
Réponses:
Vous pouvez faire exécuter la chose par cron tous les mercredis, puis la faire exécuter décider si c'est une semaine paire ou une semaine impaire. par exemple:
la source
De nombreux crons (vous n'avez pas spécifié lequel vous utilisez) prennent en charge les plages. Donc quelque chose comme
Frapperait le premier et le troisième mercredi du mois.
la source
-
ou/
impliqué, cela vaut probablement la peine de commenter pour décrire le calendrier)man 5 crontab
: " Le jour de l'exécution d'une commande peut être spécifié par deux champs - jour du mois et jour de la semaine. Si les deux champs sont restreints (c.-à-d. Ne sont pas *), la commande sera exécutée lorsque l' un des champs correspond à la Par exemple, «30 4 1,15 * 5» entraînerait l'exécution d'une commande à 4 h 30 le 1er et le 15 de chaque mois, plus chaque vendredi »(c'est moi qui souligne).Pour quelque chose qui doit être exécuté toutes les deux semaines, utilisez ce one-liner:
Ce script particulier est prévu pour s'exécuter le vendredi. La semaine à exécuter peut être ajustée en utilisant "-eq 0" ou "-eq 1"
la source
Anacron est une bonne solution de contournement pour les limitations de cron.
la source
Si vos besoins ne sont pas littéralement bihebdomadaires, vous pouvez simplement exécuter le cronjob le 1er et le 15 du mois:
Qui fonctionne à 8h15 le premier et le quinzième de chaque mois quel que soit le jour de la semaine.
la source
À partir de cette explication, le paramètre 3/2 sur le champ de la semaine devrait exécuter la tâche tous les deux mercredis - c'est implicite, mais je pense que c'est faisable.
la source
for(int i=3; i <=3 ; i+=2) {}
car il ne passe par cette fois qu'une seule fois, peu importe si le "step" est 1 ou 2.