[Cron] : précisions sur la syntaxe

Bonjour à tous,

Je souhaite exécuter un script tous les lundi de chaque mois. J’ai trouvé ceci sur wikipedia et sur un site web :

Quelqu’un peut-il m’expliquer la signification des crochets pour cron en position 6 ? Car normalement, c’est là où l’on place la commande à exécuter. A quoi servent-ils ?

Ensuite concernant la comparaison de date : que veulent dire “-le” et “-eq” utilisé dans les exemples 1 et 3 ?

Merci

‘[’ est une commande, en langage courant elle s’appelle test, ce n’est donc pas une syntaxe de cron.

tu trouveras toutes les informations dans la doc man test, -le c’est ≤ et -eq c’est = pour des comparaisons d’entiers.
par ailleurs les exemples ont des erreurs :

  • == est incorrect, la bonne syntaxe est =
  • les apostrophes typographiques ‘’ sont à remplacer par des quotes simples ‘’
  • les backticks `` sont à remplacer par $()

Premier ? Dernier ? toutes les semaines ?

Pour tous les vendredi:
28 22 * * 5 /root/test.sh

Tous les premier lundi du mois (pas sûr du tout, non testé) :
23 8 1-6 * 1 /chemin/du/script.sh

Bonjour,

[quote=“Mimoza”]Tous les premier lundi du mois (pas sûr du tout, non testé) :
23 8 1-6 * 1 /chemin/du/script.sh[/quote]
Non (pour l’avoir expérimenté à mes dépens !!). Petite subtilisé de cron. C’est du 1 au 6 AINSI QUE tous les lundis.
https://fr.wikipedia.org/wiki/Cron#Notation
https://fr.wikipedia.org/wiki/Cron#Exemples

D’où l’utilisation de ce genre de ligne :

Ok merci pour la précision, donc on peut se demander s’il n’est pas préférable de gérer ça dans le script lui même non ?

Perso, je préfère laisser le test dans le cron. Ca permet de pouvoir lancer le script à la demande en dehors.

Damn it ! J’ai oublié le mot le plus important !

C’est effectivement tous les PREMIERS lundis du mois

Merci Iroy. Je ne connaissais pas la commande test. Je vais regarder ça.

Donc que pensez vous de ça :