Saisie des cron jobs dans l'interface ovh

bonjour je suis débutant je voudrais pouvoir automatiser certaines taches sur mon site
j'ai lu la doc ovh

quand j'essaie d'installer une tache du type
php /path/to/mautic/app/console mautic:segments:update

il me renvoie un message
Les caractères acceptés pour les dossiers sont les lettres, les chiffres, et les caractères -_./ Par ailleurs, il est interdit d'accéder aux dossiers parents en utilisant ..
les espaces et les : ne sont pas accepté ?
je ne sais pas je suis débutant ..

il y a de fortes chances. à tester.

les caractères en dehors de [a-zA-Z][0-9][ -_] sont à éviter car même s'ils pont possibles sous unix, ça n'est pas confortable de les utiliser (espace à échapper par exemple).

merci pour la réponse

si je comprends bien il me faut remplacer les espaces et les : par un . ?

non, le . fait référence au répertoire courant
couramment pour des séparations, on utilise les tirets: -_

merci je vais tester !

https://perso.1rennes1.fr/pascal.gentil/unix/index.html#fichiersrennes1.fr/pascal.gentil/unix/index.html#fichiers

Bonjour,

Il faut indiquer le chemin d'un fichier et non d'une commande dans l'interface OVH.

Cordialement, janus57

la commande doit être dans le fichier alors ?
je met toutes mes commandes dans un fichier et j'indique le chemin du fichier à exécuter dans l'interface ovh ?

ce que je veux faire c'est automatiser des taches pour une installation de mautic mais je ne suis pas un pro de l'informatique
j'ai la syntaxe générale dans la doc mautic et j'essaie d'apprendre

merci pour réponse

à priori, oui, LES commandes dans UN fichier

mais quelque chose à BIEN PENSER, le cron lance le fichier de commandes en dehors de ton espace personnel. il faut donc bien raisonner en chemins absolus (donc pas en chemins relatifs), de même il n'aura pas accès à des variables d'environnement utilisateur

il est à priori possible, si ssh dispo sur ton hébergement, d'utiliser git clone pour simplifier la tache d'installation

ok merci pour les infos est que le fichier doit avoir un intitulé et une extension particulière ?

nom et extension sans importance
indiquer le langage dans le choix prévu à cet effet.

quel langage utilisé?

c'est du php !

mais comment obtenir le bon chemin absolu vers le fichier ?

voici toutes les commandes que je veux placer dans le fichier
pdating Segments

php /path/to/mautic/app/console mautic:segments:update
php /path/to/mautic/app/console mautic:campaigns:rebuild
php /path/to/mautic/app/console mautic:campaigns:trigger

php app/console mautic:integration:fetchleads
php app/console mautic:integration:pushleadactivity

http://php.net/manual/fr/function.getcwd.php

la doc php est une bible annotée par les utilisateurs, il faut s'en gaver sans modération :wink:

Bonjour,

ce que tu peux faire c'est créer pour chaque tâche cron un fichier php
par exemple : mautic_segments_update.php
et tu met dedans :

passthru("php /path/to/mautic/app/console mautic:segments:update");

Tu n'as pas besoin de fermer la balise PHP et je ne pense pas que tu as besoin d'ajouter le chemin de php car lorsque tu ajoutes un cron sur OVH il te demande le langage à utiliser.

Tu met ce fichier dans un dossier que tu nommes par exemple "crons".
Tu peux appeler cette page depuis ton navigateur pour tester le bon fonctionnement.
Ensuite une fois que tout est OK, tu ajoutes un .htaccess à la racine de ce dossier "crons" pour bloquer l'accès depuis un navigateur :

Order allow,deny
deny from all

Cordialement,
Boris.

Merci pour ton aide

merci beaucoup je vais essayer

j'ai créé le fichier je l'ai placé dans le répertoire crons j'ai créé la commande d'appel chez ovh en précisant le répertoire
dans la ligne de commande php le path/to/mautic c'est bien le chemin absolu des serveurs ovh ? je l'obtient en allant chercher dans les logs ?

selon la doc php dont je t'ai donné le lien, quels exemples:
```
$path = getcwd();
echo 'path: '.$path.'
';

// autre manière
$path = dirname(FILE);
echo 'path: '.$path.'
';

passthru("php $path/mautic …
```


passthru("php /path/to/mautic/app/console mautic:segments:update");


$path = dirname(__DIR__);
passthru("php $path/app/console mautic:segments:update");

- \_\_DIR\_\_ nous donne le chemin absolu de ton dossier "crons"
- dirname(\_\_DIR\_\_) nous donne le chemin absolu du dossier contenant le dossier "crons".

Donc si tu as créé le dossier "crons" à la racine de ton application, alors $path contient le chemin absolu de ton application.