Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

Tâches CRON : exécuter automatiquement des tâches

Regardez la vidéo explicative

Een cronjob aanmaken 0:44

Une tâche cron (ou cronjob) est une commande que le serveur exécute pour vous à des moments fixes. Par exemple, un script qui nettoie chaque nuit les anciennes données, une liaison horaire avec votre comptabilité, ou les tâches planifiées de WordPress ou Laravel. Vous configurez cela sous Tâches CRON, dans Fonctionnalités avancées.

La section Tâches CRON avec les boutons Ajouter une tâche CRON et Envoyer tous les résultats Cron à un e-mail et une liste vide
(1) créer une tâche, (2) envoyer le résultat à une adresse e-mail

Règles chez WebOké

Un serveur est partagé avec d'autres sites web. C'est pourquoi des règles s'appliquent aux tâches cron :

  • Ne faites démarrer une tâche qu'une fois toutes les 10 minutes au maximum. C'est ce que nous demandons à tout le monde. Le serveur ne l'impose pas techniquement, mais une tâche qui s'exécute plus souvent ralentit le serveur pour vous comme pour les autres. Si vous avez plusieurs tâches, ne les faites pas toutes démarrer au même moment.
  • Gardez une tâche courte. S'il y a beaucoup à faire, répartissez le travail sur plusieurs passages.

Créer une tâche

  1. Dans DirectAdmin, sous Fonctionnalités avancées, cliquez sur Tâches CRON.
  2. Cliquez sur AJOUTER UNE TÂCHE CRON.
  3. Indiquez dans Minute, Heure, Jour du mois, Mois et Jour de la semaine quand la tâche doit s'exécuter (1). Un astérisque * signifie "chaque".
  4. Sous les champs horaires, vous voyez à La tâche cron s'exécutera : (2) en langage clair quand la tâche s'exécutera. Vérifiez cela.
  5. Saisissez dans Commande (3) ce qui doit se produire, avec des chemins complets (voir ci-dessous).
  6. Vous ne voulez pas de mail à chaque exécution ? Cliquez sur ÉVITER LES E-MAILS (4).
  7. Cliquez sur CRÉER (5).
Le formulaire Ajouter une tâche CRON avec minute 30, heure 3, l'explication en langage clair, la commande et les boutons Éviter les e-mails et Créer
(1) l'horaire, (2) l'explication en langage clair, (3) la commande, (4) pas de mail, (5) créer

La tâche apparaît ensuite dans la liste. Pour la supprimer, cochez-la (1) et cliquez sur Supprimer.

La liste des tâches cron avec une tâche qui lance chaque jour à 03:30 un script PHP
(1) la tâche dans la liste

Exemples d'horaires

MinuteHeureJour du moisMoisJour de la semaineSignification
303***Chaque jour à 03h30
*/10****Toutes les 10 minutes
0****Toutes les heures pleines
158**1-5En semaine à 08h15 (1 est lundi, 0 ou 7 est dimanche)
021**Le premier jour de chaque mois à 02h00

Vous pouvez séparer les valeurs par des virgules (1,15,30), indiquer une plage avec un tiret (5-7) et un intervalle avec */ (*/2 signifie un sur deux). Privilégiez un horaire calme et aléatoire, comme 03h17 plutôt que minuit pile.

La commande : chemins complets

Une tâche cron ne sait pas dans quel dossier elle doit démarrer. Utilisez donc toujours des chemins complets. Votre hébergement se trouve sur le serveur dans /home/ suivi de votre nom d'utilisateur DA (voir Votre nom de serveur et votre nom d'utilisateur DA retrouver).

Lancer un script PHP :
/usr/local/bin/php /home/nomutilisateur/domains/votredomaine.nl/public_html/tache.php

Cela utilise la même version de PHP que votre site, c'est à dire la version définie dans Select PHP version (voir Choisir la version de PHP (Select PHP version)).

Appeler une adresse web (par exemple si votre logiciel fournit une URL cron) :
curl --silent https://www.votredomaine.nl/cron.php > /dev/null

WordPress : par défaut, WordPress lance ses tâches planifiées lorsqu'un visiteur arrive sur le site. Pour un site très fréquenté ou un site avec peu de visites, il est préférable d'utiliser une tâche cron. Ajoutez alors dans wp-config.php define('DISABLE_WP_CRON', true); et créez une tâche qui lance toutes les 15 minutes /usr/local/bin/php /home/nomutilisateur/domains/votredomaine.nl/public_html/wp-cron.php.

Laravel : /usr/local/bin/php /home/nomutilisateur/domains/votredomaine.nl/artisan schedule:run. Attention : schedule:run n'exécute que les tâches qui correspondent exactement au moment de la tâche cron. Si la tâche cron s'exécute toutes les 10 minutes, une tâche planifiée à 08h05 ne se lancera jamais.

Mail après chaque tâche

Si une tâche produit un résultat (texte ou message d'erreur), le serveur peut l'envoyer par mail. Cela n'arrive que si vous avez configuré une adresse. Vous avez trois possibilités :

  • Mail vers votre propre adresse : cliquez sur ENVOYER TOUS LES RÉSULTATS CRON À UN E-MAIL, indiquez une adresse e-mail et cliquez sur ENREGISTRER. Cela s'applique à toutes vos tâches. Si vous laissez le champ vide, aucun mail n'est envoyé.
  • Pas de mail pour une seule tâche : cliquez sur ÉVITER LES E-MAILS lors de la création. >/dev/null 2>&1 est alors ajouté à la fin de votre commande et le résultat de cette tâche disparaît, même si vous avez configuré une adresse.
  • Résultat dans un fichier journal : ajoutez à la fin de votre commande >> /home/nomutilisateur/cron-log.txt 2>&1. Vous pourrez ensuite consulter dans le Gestionnaire de fichiers ce que la tâche a fait. Nettoyez ce fichier de temps en temps.
La fenêtre permettant d'envoyer tous les résultats cron à une adresse e-mail
Envoyer le résultat de toutes les tâches à une seule adresse e-mail

Astuce : configurez une adresse tant que vous testez une nouvelle tâche. Vous voyez ainsi immédiatement si elle fonctionne. Désactivez-la ensuite ou envoyez le résultat vers un fichier journal. Les mails des tâches cron comptent dans la limite d'envoi de votre pack (voir Limites d'envoi et le message « message limit reached »).

Questions fréquentes

Ma tâche affiche "Could not open input file".
Le chemin vers le script est incorrect. Vérifiez le chemin complet dans le Gestionnaire de fichiers : il commence par /home/nomutilisateur/domains/.

Mon script fonctionne dans le navigateur, mais pas en tant que tâche cron.
Un script exécuté via cron ne sait pas sous quel site web il s'exécute : $_SERVER['SERVER_NAME'] et $_SERVER['DOCUMENT_ROOT'] sont vides et les chemins relatifs dans include fonctionnent différemment. Utilisez des chemins complets dans le script, ou appelez le script via curl avec l'adresse web.

Puis-je voir quand une tâche s'est exécutée ?
DirectAdmin ne garde pas cet historique pour vous. Faites donc écrire le résultat de la tâche dans un fichier journal, avec la date incluse (par exemple date >> /home/nomutilisateur/cron-log.txt comme première commande, séparée par ;).

À quoi sert Lancer @reboot ?
Dans ce cas, la tâche ne s'exécute que lorsque le serveur redémarre, et non à des horaires fixes. Vous n'en avez presque jamais besoin pour un site web.

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…