6 octobre 2022

Cron Jobs, le guide complet et comment planifier des tâches via les cronjobs

Comment exécuter des commandes, des tâches et des activités à un moment précis, voire de manière répétée ? C'est ce qu'est un cronjob.

cron Jobs

Les cronjobs sont un type de système de planification qui peut être utilisé pour automatiser les processus métier. Un Cronjob est une commande ou un programme qui s'exécute à une heure ou une période spécifiée. Le but de ces cronjobs est d'exécuter des tâches automatiquement, ce qui signifie que vous n'avez pas à vous connecter au système chaque fois que vous voulez exécuter quelque chose.

Cet article couvrira tout, de ce que sont les Cronjobs et comment ils peuvent aider votre entreprise, jusqu'à leur configuration et leur utilisation.

Que sont les Cronjobs ?

Les tâches cron sont intégrées aux systèmes d'exploitation de type Unix et sont utilisées pour planifier les tâches système qui doivent s'exécuter à un moment précis. Bien que la plupart des utilisateurs n'aient pas besoin de les configurer ou de les gérer eux-mêmes, ils constituent un outil précieux pour les administrateurs et les développeurs de logiciels qui ont besoin d'automatiser les tâches de routine.

Ils peuvent être utilisés pour automatiser des tâches répétitives, telles que l'envoi d'une newsletter quotidienne ou l'exécution de commandes sur un serveur. Les tâches Cron peuvent être programmées pour s'exécuter une fois par minute, une fois par heure ou même une fois par jour.

« Cron » est l'abréviation de chronomètre et signifie essentiellement « chronomètre ». Une tâche cron s'exécute à des heures ou à des intervalles prédéfinis. Par exemple, vous pouvez programmer une sauvegarde de la base de données pour qu'elle ait lieu tous les jours à 17h00.

A quoi peuvent servir les Cronjobs ?

Les tâches cron sont utilisées pour planifier des activités sur une base périodique. Par exemple, vous pouvez avoir une tâche cron qui s'exécute tous les jours pour sauvegarder vos données, archiver d'anciens fichiers ou une tâche cron qui s'exécute tous les jours à 19h30 et qui envoie des rapports par e-mail à vos clients.

Quels sont les avantages d'utiliser la planification des Cronjobs ?

Les cronjobs sont un excellent moyen de gagner du temps et d'économiser de l'argent. Au lieu d'avoir à passer votre temps sur la planification manuelle des tâches, les Cronjobs peuvent être configurés pour s'exécuter automatiquement à des heures ou à des intervalles spécifiques. Cela signifie que vous n'avez pas à vous soucier de manquer une activité importante, comme l'envoi d'e-mails marketing ou la mise à jour d'une image sur votre site Web.

Les cronjobs vous permettent également d'économiser de l'argent en réduisant le temps que vous consacrez à des tâches fastidieuses telles que la mise à jour des médias sociaux, la sauvegarde ou la surveillance des sites Web pour les changements de trafic. Avec un programmeur Cronjob, tout ce travail sera fait automatiquement au moment prévu afin que vous ne gaspilliez plus votre précieux temps de développement !

Comment configurer un planificateur Cronjob

Un planificateur de tâches cron est un outil qui vous permet de programmer des tâches à exécuter à des heures ou à des intervalles spécifiés. Vous pouvez même les utiliser sur votre ordinateur ou sur d'autres ordinateurs. Ils sont incroyablement utiles pour automatiser de nombreux types de tâches, notamment la mise à jour de votre site Web et la sauvegarde de fichiers à partir d'autres appareils sur votre réseau.

Il existe deux systèmes d'exploitation qui prennent en charge la planification des tâches cron : les systèmes Linux et de type Unix (tels que Mac OS X), qui ont la méthode d'accès root la plus traditionnelle ; et Windows 10 Pro (qui a une fonctionnalité supplémentaire appelée Planificateur de tâches). Il y aura quelques légères différences entre ces méthodes selon le système d'exploitation que vous utilisez, mais toutes vous permettront de mettre en place des tâches automatisées !

Le processus pour créer une tâche Cron de base est assez simple : ouvrez la fenêtre du terminal en cliquant sur "Afficher les icônes cachées" → "Affichage" → "Afficher toutes les options" → Cliquez sur "Afficher les outils de développement" et enfin cliquez sur "Invite CMD (administrateur)." Une fois dans cette nouvelle fenêtre, tapez "crontab -e" sans les guillemets à l'invite de commande, puis appuyez sur Entrée ! Cela ouvrira Nano, l'éditeur de texte par défaut.

Comment planifier des tâches sur Windows

  • Tout d'abord, assurez-vous que vous êtes connecté en tant que administrateur ou avoir le même accès administrateur.
  • continuer Accueil -> panneau contrôle -> Système et sécurité -> Outils administratifs -> Planificateur

action -> Créer des activités de base -> Tapez un nom pour la tâche planifiée et cliquez sur ' Avanti »

  • Suivez l'assistant pour sélectionner les activités et les horaires souhaités.

Vos Cronjobs s'exécuteront désormais automatiquement à des intervalles spécifiés selon vos paramètres, comme toute autre tâche Windows ou événement planifié

Comment planifier des tâches sur Mac OSX

Pour planifier des tâches sur Mac OSX :

  • Cliquez sur le dossier Applications dans le Finder et recherchez l'application Terminal.
  • Ouvrez l'application en double-cliquant dessus ou en appuyant sur Commande + Barre d'espace et en tapant "Terminal" dans Spotlight Search (ce qui ouvrira un nouvel onglet dans Safari).
  • Tapez la commande suivante : sudo crontab -e
  • Dans la fenêtre « Cron » qui s'ouvre, tapez la commande souhaitée pour planifier une tâche (voir exemple ci-dessus). Vous pouvez également ajouter plus de commandes ici si vous préférez !
  • Appuyez sur Entrée lorsque vous avez fini de taper des commandes, puis fermez Terminal en cliquant sur Fichier> Fermer l'onglet dans le coin supérieur gauche de la fenêtre ou en appuyant sur Commande + Q

Comment planifier des tâches sous Linux

Lorsqu'il s'agit de configurer des Cronjobs Linux, il y a quelques choses que vous devez savoir. Tout d'abord, vous pouvez créer et planifier des tâches à l'aide de l'utilitaire crontab. La syntaxe de cette commande est la suivante :

[user]@[hostname]:~$ sudo crontab -e

Où user est votre nom d'utilisateur sur la machine hôte et host name est l'adresse IP ou le nom d'hôte de votre serveur (vous n'avez pas à entrer les deux). Le symbole tilde (~) représente votre répertoire personnel sur les systèmes Linux, donc si votre nom d'utilisateur est "John Doe", alors ~ fera référence à / home / john /. Lorsque vous exécutez cette commande sur Ubuntu 18.04 Bionic Beaver (fourni avec Python 3), vous verrez :

```python2
John Doe's Desktop 2 [21/08/2018 09:54]$ sudo crontab -e
```

Les crontabs sont stockées dans /var/spool/cron/. Vous pouvez les modifier avec n'importe quel éditeur de texte comme vim ou nano.

 

10 exemples de Cronjob pour améliorer l'efficacité de l'entreprise

Dans un environnement professionnel, de nombreuses tâches doivent être effectuées régulièrement. Ces tâches peuvent être effectuées manuellement, mais sont souvent répétitives ou urgentes. Par exemple, vous pouvez exécuter un rapport tous les mois ou envoyer un rappel par e-mail à vos employés chaque semaine. Dans ces cas, l'utilisation de tâches cron pour automatiser ces processus permettra de gagner du temps et de les rendre plus efficaces. Voici 10 exemples d'utilisation de Cronjobs dans votre entreprise :

1. Rappel par e-mail

Les rappels par e-mail sont un excellent moyen de rappeler aux clients les événements ou les échéances à venir. Par exemple, vous pouvez planifier l'envoi d'un e-mail à l'approche de l'événement d'un client afin qu'il sache à quoi s'attendre et puisse se préparer en conséquence.

Le code suivant enverra un rappel par e-mail une semaine avant votre anniversaire :

crontab -e * * * 2 # 0 0 1 * - nom : Envoyer un e-mail de rappel d'anniversaire : me@example.com

Si vous ne souhaitez recevoir le rappel que certains jours de la semaine, utilisez l'une des lignes suivantes au lieu de "0 0 1 *" ci-dessus :

  • Dimanche (dimanche) à 12:00
  • lundi (lundi) à 12:00
  • mardi (mar.) à 12:00
  • mercredi (mercredi) à 12:00
  • jeudi (jeu) à 12:00
  • Vendredi (vendredi) à 12:00
  • samedi (samedi) à 12:00

2. Sauvegardez la base de données

Vous pouvez configurer une tâche cron pour effectuer des sauvegardes de base de données et les restaurer. Vous pouvez également automatiser les sauvegardes de bases de données avec une tâche cron, afin qu'elles s'exécutent la nuit ou le week-end lorsqu'il y a moins d'utilisateurs sur le système.

3. Archivage des anciennes données

Si votre entreprise est comme la plupart, vous avez beaucoup de données qui sont stockées et oubliées. C'est un problème car avec le temps, les fichiers plus anciens sont plus susceptibles d'être perdus si quelque chose arrive aux disques durs ou au serveur.

Pour vous assurer que cela ne se produise pas, vous devez établir un calendrier d'archivage de vos anciennes données. Les cronjobs sont l'outil parfait pour la planification de l'archivage car ils sont faciles à configurer et s'exécutent automatiquement en arrière-plan sans aucune intervention de l'utilisateur.

4. Surveillance et alerte

L'alerte est un processus qui surveille l'état d'un système ou d'une application et alerte le personnel approprié lorsqu'un événement nécessitant une attention particulière se produit. Les alertes peuvent être activées d'événements tels qu'un changement dans l'utilisation du processeur, une modification de fichier ou une connexion réseau.

Le type d'alerte le plus courant est un message électronique envoyé à quelqu'un (ou plusieurs personnes) qui doit prendre des mesures immédiates. Ceci est utile pour s'assurer que les failles de sécurité sont détectées le plus tôt possible afin qu'elles puissent être arrêtées avant de causer d'autres dommages ou d'être remarquées par des tiers extérieurs à votre entreprise. Il existe de nombreux types d'alertes, dont voici quelques exemples :

  • Notifications par email
  • SMS/SMS
  • Appels téléphoniques

5. Analyse des données ou rapport

Si vous cherchez des exemples d'analyses ou de rapports pouvant être effectués par des tâches cron, il y en a beaucoup. Le plus populaire est probablement Google Analytics, qui permet aux utilisateurs d'importer les données de trafic de leur site dans une application, puis de programmer des rapports à l'heure à laquelle ils le souhaitent, un jour donné.

Si vous avez des employés qui travaillent à distance (ou même s'ils ne le sont pas), il est important qu'ils sachent quelles sont leurs tâches quotidiennes et quand ils doivent les accomplir avant de configurer un Cronjob avec des alertes par e-mail. Cela garantira que tous les employés remplissent leurs responsabilités et font le travail à temps sans avoir à demander à quelqu'un d'autre par où commencer ou ce qu'ils doivent faire exactement aujourd'hui !

Savoir que chaque membre de l'équipe comprend quelles tâches doivent être accomplies peut aider à éliminer toute confusion quant au temps restant avant l'arrivée d'une échéance importante, ce qui pourrait signifier moins de stress pour toutes les personnes impliquées dans le travail !

6. Exécution de scripts d'inventaire

Les scripts d'inventaire sont utilisés pour suivre l'inventaire d'un produit. Par exemple, si vous vendez un produit dans des magasins et des entrepôts, vous pouvez utiliser un script d'inventaire pour vous assurer que votre magasin dispose de suffisamment de produits pour les clients. Vous pouvez également utiliser ce type de script pour suivre la quantité de stock dans chaque emplacement d'entrepôt et déterminer quels emplacements s'épuisent plus rapidement que d'autres.

7. Synchronisation des fichiers entre les systèmes

Vous pouvez créer une tâche cron qui synchronisera les fichiers entre les systèmes.

Par exemple, si vous utilisez un outil de synchronisation de fichiers tel que https://www.rsync.net et que les serveurs source et de destination sont correctement configurés, vous pouvez utiliser l'utilitaire de ligne de commande rsync pour effectuer cette tâche automatiquement.

8. Vérifiez les mises à jour logicielles

Vous pouvez vérifier les mises à jour logicielles à l'aide de la commande suivante :

apt-get update

Pour installer une mise à jour, exécutez cette commande :

apt-get upgrade -y

Pour programmer une mise à jour logicielle automatiquement à une heure précise, ajoutez la tâche cron suivante au fichier crontab de votre système (que vous pouvez trouver en tapant « sudo nano /etc/cron.d/ ») :

* */5 * * * root apt-get upgrade -y

Si vous souhaitez annuler une mise à jour installée, exécutez cette commande :

apt-update && apt-full dist-upgrade -reinstall --auto-remove && reboot

9. Appelez les API à intervalles réguliers

Il existe un certain nombre d'API populaires que vous pouvez utiliser pour automatiser certaines tâches au sein de votre entreprise. Par exemple, vous pouvez créer une tâche cron qui appelle l'API Google Calendar toutes les heures et crée des événements en fonction de l'existence ou non de réunions programmées pour le lendemain. Cela garantirait que le calendrier est toujours à jour et empêcherait également les employés d'avoir à mettre à jour manuellement leurs calendriers après l'annulation ou la reprogrammation de réunions.

Par exemple:

  • API Google Calendar : Un type de service Web "personnel" où les utilisateurs peuvent conserver leurs calendriers et les partager avec d'autres personnes.
  • API Upwork : Un type de service Web "d'entreprise" où les entreprises peuvent embaucher des indépendants avec différentes compétences à des tarifs raisonnables (par rapport à ce qu'elles paieraient en interne).

10. Exécution d'analyses de sécurité ou d'outils d'évaluation des vulnérabilités.

Les outils d'analyse de sécurité analysent le réseau à la recherche de vulnérabilités et peuvent être utilisés pour identifier les vulnérabilités des logiciels, des systèmes d'exploitation et des applications ouvertes aux pirates. Les outils d'évaluation des vulnérabilités vous aident à tester la sécurité de vos périphériques matériels (tels que les imprimantes) en vérifiant s'ils ont été correctement configurés. Ces outils vous aident à améliorer l'efficacité de votre entreprise en garantissant que tous vos appareils sont protégés contre les cyberattaques. La configuration de tâches cron pour automatiser ces analyses et envoyer des alertes ou des rapports par e-mail selon les besoins offre un autre grand avantage.

Terminologie des tâches Cron

Cron

Cron est un planificateur de tâches basé sur le temps qui s'exécute en arrière-plan sur un serveur. Les cronjobs sont des scripts ou des programmes qui s'exécutent automatiquement à des intervalles spécifiques pour des tâches de routine telles que l'envoi de notifications par e-mail, la mise à jour des données d'analyse, etc.

Les tâches cron peuvent être configurées pour s'exécuter une fois, quotidiennement, hebdomadairement et mensuellement. La plupart des implémentations cron permettent aux utilisateurs de définir des tâches à exécuter à une certaine heure de la journée ou du jour de la semaine (ou de la semaine). Une tâche cron sera mise en file d'attente jusqu'à l'heure d'exécution planifiée, puis exécutée à ce moment-là.

cron Jobs

Événements réels planifiés à l'aide de Cron avec un intervalle de temps et une commande spécifiques.

Les tâches cron peuvent être programmées pour s'exécuter à une heure précise ou à une heure précise de la journée.

  • * À une heure précise * Le Cronjob s'exécutera à la date et à l'heure spécifiées.
  • * À une heure précise de la journée * Cronjob s'exécutera pendant l'heure spécifiée (0-23).

Un Cronjob comporte trois parties : une plage, une commande et le nom d'un utilisateur qui exécutera la commande.

Le démon cron est un planificateur de tâches basé sur le temps qui s'exécute sur les systèmes d'exploitation Unix et de type Unix qui vous permet de planifier l'exécution de commandes à des heures ou à des intervalles spécifiques.

crontab

Un fichier de configuration contenant tous les Cronjobs planifiés.

Crontab est un fichier de configuration qui contient la liste des tâches à exécuter à des moments spécifiés. Il réside généralement dans /etc/cron.de et est édité à l'aide de l'éditeur crontab.

Éditeur Crontab

Un outil qui vous permet d'éditer facilement votre fichier crontab, sans avoir à utiliser de code.

conclusion

J'espère que vous êtes maintenant convaincu que les Cronjobs sont un outil utile pour automatiser les processus métier. Ils présentent de nombreux avantages et peuvent vous faire gagner du temps à long terme. Cependant, ils nécessitent quelques réglages avant de fonctionner correctement, alors assurez-vous de connaître vos besoins avant de commencer !

 

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions système GNU/Linux avancées orientées vers la haute performance. Avec un modèle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accès à des technologies avancées en matière d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils système sur les systèmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. détient les droits de Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de la FreeBSD Foundation ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt. Oracle Corporation détient les droits sur Oracle®, MySQL® et MyRocks® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; REDIS® est une marque déposée de Redis Labs Ltd. F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB. Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited. Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal®. Amazon Web Services, Inc. détient les droits sur AWS® ; Google LLC détient les droits sur Google Cloud™ et Chrome™ ; Facebook, Inc. détient les droits sur Facebook® ; Microsoft Corporation détient les droits sur Microsoft®, Azure® et Internet Explorer® ; La Fondation Mozilla détient les droits sur Firefox®. Apache® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée du groupe PHP. CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV. Ce site n'est affilié, sponsorisé ou autrement associé à aucune des entités mentionnées ci-dessus et ne représente aucune de ces entités de quelque manière que ce soit. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées appartiennent à leurs titulaires. MANAGED SERVER® est une marque déposée au niveau européen par MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italie.

Retour en haut de page