Comment configurer un cron sur un serveur Linux via SSH - ūüŹÜ Serveur g√©r√©
22 mai 2023

Comment configurer un cron sur un serveur Linux via SSH

Qu'est-ce qu'une t√Ęche planifi√©e sous Linux et comment configurer un cron via crontab ?

√Ä l'√®re num√©rique d'aujourd'hui, caract√©ris√©e par des flux de donn√©es ininterrompus et des op√©rations 24h/24 et XNUMXj/XNUMX, les administrateurs syst√®me sont constamment confront√©s √† la n√©cessit√© de g√©rer des t√Ęches et des processus qui doivent s'ex√©cuter √† des moments pr√©cis. Dans ce contexte, cron se d√©marque par son utilit√© et sa fonctionnalit√©, un utilitaire de planification de t√Ęches pr√©sent dans les syst√®mes d'exploitation de type Unix, dont le c√©l√®bre Linux.

Cron s'av√®re √™tre un outil d'une puissance et d'une flexibilit√© incroyables, capable d'automatiser l'ex√©cution de commandes ou de scripts selon un calendrier d√©fini. La gamme de t√Ęches qu'il peut g√©rer est large et vari√©e, y compris la suppression p√©riodique de fichiers temporaires, la cr√©ation de sauvegardes de donn√©es critiques, la surveillance et la v√©rification de l'√©tat du syst√®me, ainsi qu'une multitude d'autres op√©rations qui, si elles sont g√©r√©es manuellement, peuvent √™tre co√Ľteuses et sujettes aux erreurs. .

L'un des aspects les plus attrayants de cron r√©side dans sa combinaison unique de polyvalence et de simplicit√©. Tout en ayant une structure complexe qui permet de d√©finir des plannings d'ex√©cution tr√®s pr√©cis, sa gestion est incroyablement simple. Avec quelques lignes de code, il est possible de programmer une s√©rie d'op√©rations r√©currentes, obtenant un gain de temps consid√©rable et minimisant les erreurs dues √† l'intervention humaine. Cela repr√©sente un avantage consid√©rable dans un contexte o√Ļ l'efficacit√© op√©rationnelle et la fiabilit√© du syst√®me sont primordiales.

Comment un cron est-il structur√© sous Linux ?

Une t√Ęche cron sous Linux est d√©finie par une seule ligne de texte dans la crontab, la "table cron". Cette ligne de texte est divis√©e en six parties distinctes, chacune repr√©sentant un √©l√©ment diff√©rent de la t√Ęche cron.

Ces pièces, dans l'ordre, sont :

  1. Minute: Ce champ peut prendre des valeurs de 0 √† 59 et indique la minute de chaque heure pendant laquelle la t√Ęche cron doit √™tre ex√©cut√©e.
  2. maintenant: Ce champ peut prendre des valeurs de 0 √† 23 et indique l'heure de la journ√©e √† laquelle la t√Ęche cron doit √™tre ex√©cut√©e.
  3. Jour du mois: Ce champ peut prendre des valeurs de 1 √† 31 et indique le jour du mois o√Ļ la t√Ęche cron doit √™tre ex√©cut√©e.
  4. Mese: Ce champ peut prendre des valeurs de 1 √† 12 et indique le mois de l'ann√©e au cours duquel la t√Ęche cron doit √™tre ex√©cut√©e.
  5. Giorno della Settimana: Ce champ peut prendre des valeurs de 0 √† 7, o√Ļ 0 et 7 repr√©sentent le dimanche. Indique le jour de la semaine o√Ļ la t√Ęche cron doit s'ex√©cuter.
  6. Commande ou script: Il s'agit de la commande que vous souhaitez exécuter ou du chemin d'accès au fichier de script à exécuter. Il peut inclure n'importe quelle commande que vous exécuteriez normalement à partir de la ligne de commande.

Chaque champ est s√©par√© par un espace. Vous pouvez √©galement utiliser des op√©rateurs sp√©ciaux comme "", "/", "-", "," Et "/" pour sp√©cifier les t√Ęches cron qui se r√©p√®tent √† intervalles r√©guliers ou se produisent √† des moments pr√©cis.

Par exemple, la ligne 0 14 * * * /percorso/allo/script.sh dans la crontab indique une t√Ęche cron qui ex√©cutera le script sp√©cifi√© tous les jours √† 14h00.

Comment configurer un cron via SSH

Avant de commencer, il est important de noter que vous aurez besoin d'un accès SSH à votre serveur. Si vous ne l'avez pas déjà fait, vous devriez l'obtenir, car SSH est un outil essentiel pour gérer un serveur distant.

SSH, abr√©viation de Secure Shell, est un protocole r√©seau qui permet une communication s√©curis√©e entre deux syst√®mes √† l'aide d'une architecture client-serveur. Il permet aux utilisateurs de contr√īler et de modifier leurs serveurs distants via Internet.

Pour accéder à votre serveur via SSH, vous aurez besoin des informations d'identification de l'utilisateur, qui incluent l'adresse IP, le nom d'utilisateur et le mot de passe du serveur. Si vous ne disposez pas de ces informations, vous devrez les demander à votre administrateur système.

Voici les √©tapes pour configurer un cron via crontab :

  1. Accès au serveur: Tout d'abord, connectez-vous à votre serveur en utilisant SSH. Vous pouvez le faire depuis votre terminal en utilisant la commande ssh username@your_server_ip.
  2. Ouverture de la Crontab: Une fois connect√©, vous pouvez acc√©der √† la crontab, la table utilis√©e par cron pour suivre les t√Ęches planifi√©es, √† l'aide de la commande crontab -e. Si c'est la premi√®re fois que vous utilisez crontab, vous serez invit√© √† choisir l'√©diteur de texte de votre choix. Vous pouvez choisir parmi des options telles que nano, vi ou emacs.
  3. R√©daction d'emploi: Maintenant, vous pouvez publier votre annonce. Chaque ligne crontab repr√©sente un travail et se compose de six parties : minute (0-59), heure (0-23), jour du mois (1-31), mois (1-12), jour de la semaine (0-7, o√Ļ 0 et 7 repr√©sentent tous deux dimanche), et la commande ou le script √† ex√©cuter.
  4. Enregistrement du travail: Après avoir entré votre travail, enregistrez et fermez l'éditeur. Si vous utilisez nano, par exemple, vous pouvez le faire en appuyant sur CTRL+X, puis Y pour confirmer l'enregistrement et enfin Enter pour confirmer le nom du fichier.

Exemples de Chron

Pour vous aider à mieux comprendre comment mettre en place des crons, voici quelques exemples pratiques :

  1. Exécutez une commande toutes les minutes: Pour ce faire, vous entreriez * * * * * comando dans le crontab. La commande s'exécutera toutes les minutes.
  2. Exécutez un script tous les jours à 2h: Insérer 0 14 * * * /percorso/allo/script.sh dans le crontab. Le script s'exécutera tous les jours à 14h00.
  3. Exécuter une commande le premier jour de chaque mois: Insérer 0 0 1 * * comando dans le crontab. La commande sera exécutée à 00h00 le premier jour de chaque mois.
  4. Exécutez une commande tous les lundis à 6h du matin: Insérer 0 6 * * 1 comando dans le crontab. La commande s'exécutera tous les lundis à 6h00.
  5. Exécuter un script toutes les 15 minutes: Insérer */15 * * * * /percorso/allo/script.sh dans le crontab. Le script s'exécutera toutes les 15 minutes.
  6. Exécuter une commande toutes les heures: Insérer 0 * * * * comando dans le crontab. La commande s'exécutera toutes les heures.
  7. Exécutez une commande toutes les demi-heures: Insérer */30 * * * * comando dans le crontab. La commande s'exécutera toutes les demi-heures.
  8. Exécuter un script toutes les deux heures: Insérer 0 */2 * * * /percorso/allo/script.sh dans le crontab. Le script s'exécutera toutes les deux heures.
  9. Exécutez une commande tous les jours à 8h du matin et 8h du soir: Insérer 0 8,20 * * * comando dans le crontab. La commande s'exécutera tous les jours à 8h00 et 20h00.
  10. Exécuter un script le premier lundi de chaque mois: Insérer 0 0 * * 1 [ "$(date +\%m)" != "$(date +\%m -d '1 week')" ] && /percorso/allo/script.sh dans le crontab. Le script s'exécutera le premier lundi de chaque mois.
  11. Exécutez une commande à 10.30hXNUMX tous les jours: Insérer 30 10 * * * comando dans le crontab. La commande s'exécutera tous les jours à 10h30.
  12. Exécutez un script toutes les 5 minutes pendant les heures ouvrables (9-17): Insérer */5 9-17 * * * /percorso/allo/script.sh dans le crontab. Le script s'exécutera toutes les 5 minutes pendant les heures ouvrables.
  13. Exécutez une commande chaque année: Insérer 0 0 1 1 * comando dans le crontab. La commande sera exécutée une fois par an, précisément à 00h00 le 1er janvier.
  14. Exécutez un script toutes les 10 minutes le week-end: Insérer */10 * * * 6,7 /percorso/allo/script.sh dans le crontab. Le script s'exécutera toutes les 10 minutes le samedi et le dimanche.
  15. Exécutez une commande tous les quarts d'heure du lundi au vendredi: Insérer */15 * * * 1-5 comando dans le crontab. La commande s'exécutera toutes les 15 minutes du lundi au vendredi.
  16. Ex√©cuter un script √† 3 h 21 le premier jour du printemps (XNUMX mars): Ins√©rer 0 15 21 3 * /percorso/allo/script.sh dans le crontab. Le script sera ex√©cut√© √† 15 heures le 00 mars.
  17. Exécuter une commande toutes les 5 heures: Insérer 0 */5 * * * comando dans le crontab. La commande s'exécutera toutes les 5 heures.
  18. Exécuter un script tous les jours à 2h, sauf le week-end: Insérer 0 14 * * 1-5 /percorso/allo/script.sh dans le crontab. Le script sera exécuté à 14 heures du lundi au vendredi.
  19. Exécutez une commande tous les jours à 22h30: Insérer 30 22 * * * comando dans le crontab. La commande s'exécutera tous les jours à 22h30.
  20. Exécuter un script le 15 de chaque mois: Insérer 0 0 15 * * /percorso/allo/script.sh dans le crontab. Le script s'exécutera le 15 de chaque mois à 00h00.

N'oubliez pas que cron est un outil puissant, mais un grand pouvoir s'accompagne √©galement d'une grande responsabilit√©. Il est important de toujours rev√©rifier les param√®tres de la t√Ęche cron pour √©viter les probl√®mes potentiels.

Cron pour obtenir des URL via curl ou wget

Si vous √™tes un webmaster ou g√©rez un serveur Web, vous devrez peut-√™tre effectuer des t√Ęches planifi√©es en appelant des URL sp√©cifiques. Cela peut √™tre particuli√®rement utile pour automatiser des processus tels que l'interrogation des donn√©es d'une API, le d√©clenchement d'op√©rations de maintenance, le d√©clenchement de sauvegardes ou le nettoyage de bases de donn√©es. La mani√®re la plus courante d'y parvenir est d'utiliser les utilitaires `curl` ou `wget`.

boucle contre wget

`Curl` et `wget` sont deux commandes de ligne de commande très populaires dans les systèmes de type Unix, utilisées pour transférer des données vers ou depuis un serveur à l'aide de divers protocoles réseau, notamment HTTP, HTTPS, FTP et bien d'autres.. Alors que `curl` est plus puissant et flexible, `wget` est connu pour sa robustesse et sa facilité d'utilisation, en particulier lorsqu'il s'agit de téléchargements récursifs.

Voici cinq exemples de t√Ęches cron qu'ils utilisent curl o wget:

  1. Appeler une URL tous les jours √† 6h du matin avec curl: Ins√©rer 0 6 * * * curl http://miosito.com/operazione dans le crontab. Cette t√Ęche cron appellera l'URL sp√©cifi√©e tous les jours √† 6h00.
  2. T√©l√©charger un fichier tous les soirs √† 2 heures avec wget: Ins√©rer 0 2 * * * wget -O /percorso/al/file http://miosito.com/file.zip dans le crontab. Cette t√Ęche cron t√©l√©chargera le fichier sp√©cifi√© et l'enregistrera √† l'emplacement sp√©cifi√© tous les soirs √† 2h00.
  3. Appelez l'API d'un service toutes les heures avec curl: Ins√©rer 0 * * * * curl https://api.mioservizio.com/update dans le crontab. Cette t√Ęche cron appellera l'API sp√©cifi√©e toutes les heures.
  4. Appelez WordPress wp-cron.php toutes les 15 minutes avec wget: Ins√©rer */15 * * * * wget -q -O - http://miosito.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 dans le crontab. Cette t√Ęche cron appellera le fichier wp-cron.php de votre site WordPress toutes les 15 minutes. La sortie sera ignor√©e pour √©viter de remplir les journaux avec des informations inutiles.
  5. T√©l√©chargez une liste de fichiers tous les jours √† 5h avec wget: Ins√©rer 0 17 * * * wget -i http://miosito.com/lista-di-file.txt dans le crontab. Cette t√Ęche cron t√©l√©chargera une liste de fichiers √† partir d'un fichier texte sp√©cifi√© tous les jours √† 17h00.

N'oubliez pas que c'est curl que wget ils ont de nombreuses options et fonctionnalit√©s ; par cons√©quent, il peut √™tre utile de consulter les pages de manuel associ√©es pour savoir comment personnaliser au mieux vos t√Ęches cron.

 

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

ManagedServer.it est le premier fournisseur italien de solutions d'hébergement hautes performances. Notre modèle d'abonnement est abordable et prévisible, afin que les clients puissent accéder à nos technologies d'hébergement fiables, à nos serveurs dédiés et au cloud. ManagedServer.it offre également d'excellents services d'assistance et de conseil sur l'hébergement des principaux CMS Open Source tels que WordPress, WooCommerce, Drupal, Prestashop, Magento.

Remonter en haut