Comment définir les jours, heures sur des tâches cron ?

yule

Membre
Hello,

Je cherche à mettre un tâche cron me permettant d'exécuter un script php tous les matins à 06h15

Dans mon panneau de contrôle de mon hébergeur, je suis allé dans l'edit de mes tâches cron et j'ai ajouté cette ligne

1@daily 0 my_php_script php -f /srv/data/web/vhosts/xxxxxxxxxxxxxxxxxxxxxxx/generator/runcrawl.php

J'ai lu qu'il fallait mettre les minutes puis les heures mais faut-il faire abstraction des autres champs ( jour, mois etc.. ?)

Code
00 11,16 * * * backupuser /home/backupuser/scripts/incremental-backup


00 – 0ème minute (début de l’heure)
11,16 – 11 et 16 heures
* – chaque jour
* – chaque mois
* – n’importe quel jour de la semaine

Ceci serait plausible pour mon besoin ?
1@daily 15 06 * * * my_php_script php -f /srv/data/web/vhosts/xxxxxxxxxxxxxxxxxxxxxxx/generator/runcrawl.php

DOnc 1x jour à 06h15 chaque jour* chaque mois* et n'importe quel jour de la semaine ?

Merci de m'éclairer sur ce point.

A+
Yule
 

yule

Membre
Hello,

Bon bin ma methode niet... et ta méthode j'ai ce message

Code
The following lines have invalid format not matching @period or num@period :

15 6 * 1-12 1-7 my_php_script php -f /srv/data/web/vhosts..........................

Si j'ajoute @daily plus de message d'erreur mais c'est con puisque tu dis aussi tous les jours avec 1-7, je vais re tenter pour un peu plus tard dans la journée
 

yule

Membre
Merci mais il doit y avoir autre chose.....

Code
Error :
The following lines have invalid format not matching @period or num@period :

15 19 * 1-12 0-6  my_php_script php -f /srv/data/web/vhosts/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

et si je fais ainsi ça passe...

@daily 15 19 * 1-12 0-6 my_php_script php -f /srv/data/web/vhosts/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Mais la tâche ne se lance quand même pas..
 

Ziggy

Membre
Tu devrais essayer avec * * * * * et voir si la tâche se lance, ça éliminerait d'autres options.
Mais à priori tu ne peux pas utiliser des conditions de date 'numeric' en utilisant le format 'string' (@daily) en même temps, c'est ou l'un ou l'autre.
 

yule

Membre
Merci à vous ! C'est parti avec @15 6 * * * (apparemment, il faut le @) mais ça coupé à 30 secondes... (c'est trop peu pour mon besoin)

Finalement, je vais continuer avec le site "online cronjob" qui doit me coûter 0.7 à 0.8 € par mois et dont j'utilise de toute façon régulièrement avec un peu près 20 tâches cron par jour pour mon site. J'ai au moins essayé..;)

Petit bémol à Gandi pour cette rubrique des crons. Dans mon souvenir , même ovh propose des tâches crons avec un backend plus simple et plus efficace.. Toutefois, pas tout le monde utilise les tâches cron, ça ne doit pas être un critère pour choisir un hébergeur heureusement.

Bonne bonne
Yule
 

yule

Membre
Mais Gandi c'est Anacron non ?

Anacron ne permet pas la définition horaire mais simplement les valeurs string hourly, daily, monthly et yearly donc c'est normal que toutes tes tentatives renvoyaient une erreur.
OUI tu as entièrement raison ! mea culpa pour mon explication scabreuse et celui qui est parti ce matin , c'est celle probablement lancée depuis le site de gestion de cron online, mais qui a planté à 30 secondes (j'aurais dû choisir plus de temps)

Continue the interrupted session. Updated on 2021-01-21 05:16:34, Time elapsed: 0:00:30,

Par ailleurs et pour un udptade de mon sitemap (car il s'agit de ça en finalité) , comment me suggères-tu de l'écrire pour le "lancer" tous les matins ? c'est uniquement 1 x par jour sans savoir l'heure ?

NB: je viens donc de comprendre qu'il y a une différence en cron et anacron.. o_O
 
Dernière édition:

DaCode

Membre
Et bien cela me paraît infaisable avec Anacron.
@daily effectuera la tache quotidiennement mais je ne vois pas comment définir un horaire précis.

Sachant qu'Anacron est un programme standard et non un service il n'est pas disponible en continu mais se lance soit au démarrage du système (serveur) soit par une tache... cron ! Donc comme Gandi ne permet pas de lancer des cron il faudrait voir avec eux à quelle horaire ils balancent leur tache cron qui active anacron !! Oui je sais c'est tiré par les cheveux ou alors je ne sais pas si il y a un reboot quotidien des serveurs alors à ce moment là Anacron se lance.

Je sais que sur Gandi tu as la possibilité de relancer l'instance, je ne sais pas si cela correspond à un reboot puisque c'est du mutualisé mais il faudrait essayer ton code dans anacrontab et faire une relance de l'instance voir si la tache se lance.
 

Anthony

Membre
Ah... c'est anacrontab ? (10 coups de fouet à yule pour création d'une discussion avec absence des information nécessaires à l'établissement d'une réponse correcte) 🤨

Sinon, et là je m'aventure un peu, pourquoi ne pas créer un fichier crontab avec le code
15 6 * * * my_php_script php -f /srv/data/web/vhosts/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
à placer dans etc/cron sur le serveur via ftp. C'est dans ce dossier qu'est contenu le fichier anacrontab si je ne m'abuse.
 

Wazz9

Membre
je prends sévère avec 10 coups de fouet !
ça dépend qui les donne !
black and white dark GIF


Sinon pour en revenir au sujet,
Le mieux c'est d'appeler la tâche cron en manuel avec la commande et de bien préciser que c'est TA cron, par exemple
hé manuel ma cron

:whistle:
 

yule

Membre
Ok ok , dès lors, je vais être de moins en moins précis 😅😅

Sinon la tâche anacron est partie à ~ 00h02

Code
Created on:
22 January 2021, 00:04
Processing time:
0:02:05s

Mais on va arrêter le casse-tête (castex ) pour rester dans l'excellent humour de Wazz9
Bonne bonne
Yule
 

DaCode

Membre
La reconstruction du sitemap tous les jours à 00:00 c'est bien aussi.
Mais il y a tant de changement que ça sur ton site pour le reconstruire quotidiennement ? C'est vrai que maintenant qu'on sait que c'est anacron tu n'as pas vraiment le choix puisque c'est daily ou monthly mais à la base tu pensais exécuter une tache tous les jours à 6:15.

Bravo Wazz9 pour ta tentative de code manuel mais dans ce cas ça ne fonctionne pas et il aurait fallu utiliser Git et mettre la tâche à l'abris.
alabris git ma cron
 

Ces discussions pourraient vous intéresser...

Hello, Quand j'essaie de connecter mon fichier PHP à la base de données sur mon serveur local cela ne fonctionne pas. (site WordPress) ERROR ESTABLISHING A DATABASE CONNECTION Pourtant mes éléments sont bons, j'ai vérifié et revérifié. Je vous colle le code du fichier PHP...
Hello, Je voulais tester un peu node.JS et je l'ai donc installé sur mon Win 10, l'installation s'est bien passé. Par contre quand j'essaie de faire tourner un petit code simple qui permet de créer un serveur, je l'ai enregistré sous serveur.js var http = require('http')...
Bonjour à tous, J'essaie de déployer une application sur mon serveur live via Docker mais j'ai du faire une mauvaise configuration car l'application s'est installé en local. Il y a un fichier à configurer : docker-compose.yml notamment cette section server: image...
Haut