Maîtriser le travail périodique et automatiser les tâches de base du serveur

Article écrit par:
  • Articles en vedette
  • Mise à jour: Sep 06, 2017

L'hébergement Web est conçu pour être simple, facile à utiliser et parfait pour les professionnels en déplacement qui ne peuvent tout simplement pas consacrer chaque heure de leur journée à gérer leur serveur d'hébergement et tâches associées.

À cette fin, presque tous les serveurs basés sur Unix ou Linux offrent un gestionnaire de tâches automatisé appelé «Cron"Ou" Crontab. "

Cet utilitaire logiciel est très similaire au planificateur de tâches de Microsoft Windows, en ce sens que l'on peut lui dire de faire certaines choses à certains moments, en évitant à un utilisateur d'exécuter ces tâches manuellement. Ceci est particulièrement important lorsque l’on considère que de nombreuses procédures de maintenance, de sauvegarde et de communication de routine du serveur peuvent prendre des heures et des heures à compléter. La plupart des gens veulent simplement rentrer chez eux après une journée au bureau et se détendre plutôt que de passer leur soirée à sauvegarder des fichiers et à gérer leurs contacts.

Ces personnes ont de la chance, car chaque tâche peut être programmée sur une base quotidienne, hebdomadaire ou mensuelle - ou même plus éloignée, dans certains cas, et des instructions spécifiques peuvent être données au serveur de l'utilitaire Crontab sur la façon d'effectuer la tâche. , comment savoir quand elle est terminée et quoi faire lorsque la tâche à accomplir est réellement terminée.

Les utilisateurs seront en mesure de se détendre pendant que leur serveur fera le gros du travail pendant des heures. ou bien ils peuvent tout simplement planifier le travail pendant qu'ils travaillent fort dans leurs propres bureaux. Comme il est automatisé, un travail Cron peut survenir à n'importe quelle heure de la journée.

Apprendre à lire l'heure en utilisant le format d'une tâche cron

Un travail Cron n'est pas vraiment une chose facile à maîtriser; en fait, il est largement considéré comme l'une des configurations les plus avancées disponibles sur un standard Linux or Unix serveur Web. Cela s'explique en partie par le fait que le langage utilisé pour programmer ces tâches est très archaïque et, dans certains cas, complètement en arrière. Quand il s'agit de dire un certain temps au travail Cron ou à l'onglet Cron en question, les choses sont certainement à l'envers, à l'envers et un peu déroutant.

Le format de lecture de l'heure via un travail Cron est le suivant:

MINUTE HEURE JOUR DU MOIS MOIS JOUR DE LA SEMAINE COMMAND

C'est tout une ligne, et même le nombre et la commande est côte à côte dans une contraction uniforme. Il suffit de faire grimacer la plupart des développeurs et des opérateurs de serveur, ce qui est le cas pour beaucoup d’entre eux jusqu’à ce qu’ils maîtrisent le développement d’un travail Cron efficace.

Il est important de noter que chaque aspect du temps du travail Cron est numérique; il n'y a pas de noms de mois, de noms de jours ou d'autres mots utilisés tout au long du développement du temps pendant lequel une tâche doit être effectuée.

Par conséquent, définissons un travail Cron pour 10: 30 le 13 juillet 7 afin de mieux comprendre le temps d’un travail Cron lorsqu’il est transformé en chiffres.

30 10 07 07 *

L'exemple ci-dessus indique que le travail doit être terminé à la 30e minute de la dixième heure le septième jour du septième mois. Tous les nombres sont composés de deux chiffres, même lorsque le mois ou le jour ne contient qu'un seul chiffre. Ceci est important à retenir, car un seul chiffre entraîne souvent l'invalidité de la tâche Cron et ne sera simplement jamais effectuée. À la fin de la structure, un astérisque indique que le travail doit être effectué n'importe quel jour de la semaine. Ceci est important, car définir 03 pour mercredi signifierait que la tâche ne sera exécutée que le 7 juillet si ce jour est un mardi. Cela se produira probablement une fois tous les sept ou huit ans, ce qui est un peu absorbant pour la plupart des développeurs.

Une autre considération importante à prendre en compte lors de la configuration d'un travail Cron est que le format d'heure est l'heure militaire 24 plutôt que l'heure civile 12. Pour modifier l'heure du travail Cron sur 10 pm, l'heure serait remplacée par 22 au lieu du 10 actuel.

Exemples d'emploi Cron

Enfin, si un utilisateur souhaite simplement effectuer une tâche sur une base quotidienne, mensuelle, voire annuelle, il peut ignorer le processus de définition complète d'une heure spécifique. Au lieu de cela, le processus de travail Cron prévoit simplement d'utiliser des variables qui déterminent le moment où un travail est effectué à ces intervalles fréquents. Ceux-ci inclus:

  • @du quotidien
  • @mensuel
  • @annuel

Etant donné que l'heure ne peut pas être strictement contrôlée et déterminée à l'aide des heures et des minutes, ces travaux se dérouleront exactement à minuit, en fonction de l'heure interne du serveur, à l'intervalle demandé. Cela signifie que l'intervalle @moisi passera exactement à minuit le premier jour de chaque mois. L’intervalle @annuel aura lieu à minuit le premier jour de chaque année; et l'intervalle @daily se produira exactement à minuit tous les jours de l'année.

Cela est beaucoup plus facile que de définir une date, une heure et un jour de la semaine spécifiques, mais certaines tâches effectuées à minuit le premier jour du mois ou de l’année peuvent présenter des inconvénients pour certains clients. Gardez toujours à l'esprit les besoins des administrateurs et des visiteurs du site lorsque vous planifiez des tâches qui se déroulent à minuit exactement.

Comprendre la variable «COMMAND» et que faire avec

Comme on peut le voir dans l'exemple ci-dessus, la création d'un travail Cron réel est relativement facile. La date doit d'abord être définie, puis la fonction du travail Cron est immédiatement définie. Cette fonction peut être littéralement n'importe quoi, y compris exécuter un script PHP ou un script de sauvegarde personnalisé qui stocke les fichiers et les données du serveur dans un fichier distant ou local. Pour plus de clarté, nous nous baserons sur l'exemple précédemment utilisé et indiquerons au travail Cron d'exécuter un script PHP le juillet 7th sur 10: 30 le matin. Ce script PHP s'appellera «backup.php» et nous supposerons que le fichier PHP est un script de sauvegarde complet qui rassemble, compresse et stocke les fichiers de site le septième du mois, à la demande du serveur. Voici à quoi cela ressemble:

30 10 07 07 * http://votre-nom-domaine.com/backup-scripts/backup.php

Lorsque ce travail Cron est entré dans la liste des onglets Cron du serveur, il est automatiquement exécuté à 10: 30 am tous les juillet du 7 de chaque année. Il exécutera le script de sauvegarde PHP qui se trouve dans le répertoire «backup-scripts», et c’est là que le vrai génie de la configuration du travail Cron fonctionne.

Au lieu d’exiger des commandes avancées de la part des utilisateurs pour effectuer des opérations telles que les sauvegardes de sites et les vidages de mémoire cache, il offre simplement aux utilisateurs la possibilité d’exécuter des scripts existants à un intervalle spécifié ou à une date donnée à une heure précise. Cela signifie qu'aucune connaissance avancée de la programmation n'est nécessaire au-delà de ce que l'utilisateur sait déjà. PHP est parfaitement capable de sauvegarder des fichiers de sites, tout comme des fichiers et des langages de programmation bien plus avancés que l'utilisateur plus sophistiqué pourrait développer pour son serveur Linux.

Cette configuration simple peut être utilisée pour pratiquement tout faire, à condition qu'un script pré-écrit assure l'exécution de ces actions indépendamment de la saisie de l'utilisateur. Cela signifie toutefois que tout script exécuté par un travail Cron dans un onglet Cron doit être entièrement automatisé et pouvoir être exécuté seul. Par exemple, il serait impossible (et tout simplement illogique) de demander à la tâche Cron d’exécuter un fichier d’index ou de thème WordPress tous les jours à la même heure. Il n'y a tout simplement aucune action ou processus automatisé défini et, bien que le travail Cron exécute certainement le fichier, il ne ferait rien et resterait statique jusqu'à ce que la contribution de l'utilisateur soit fournie d'une autre manière.

Pour cette raison, si vous codez ou téléchargez des scripts de sauvegarde ou autres pour travailler avec des tâches Cron, assurez-vous toujours qu'elles ne requièrent aucune entrée utilisateur précise pour que leurs fonctions puissent être exécutées correctement. Un planificateur de tâches automatisé doit être associé à un processus automatisé dans le fichier qu'il exécute. Il n'y a pas d'exceptions à cette règle.

Maîtriser le fichier global Cron Tab sur un serveur typique

Chaque tâche Cron spécifique qui est spécifiée pour l'exécution se trouve dans un fichier plus volumineux, appelé onglet Cron. Certains serveurs ont plusieurs onglets Cron pour plusieurs types d’applications et entrées automatisées, mais cela est rare et largement réservé aux exploitants et propriétaires de serveurs les plus avancés. Ceux qui disposent d’un seul fichier d’onglet Cron peuvent utiliser les commandes ci-dessous pour modifier, supprimer ou afficher le fichier dans son intégralité, chacune de leurs tâches automatisées étant répertoriée dans le fichier.

crontab -r

Cette commande supprime (donc “r”) ou supprime le fichier d’onglet Cron entier lui-même. Cela le purgera de toutes les commandes et de tous les scripts automatisés et le restaurera dans un fichier vierge pouvant être reconstruit. C'est une option appropriée pour ceux qui ont réussi à corrompre le fichier ou à détourner des tâches et des temps. Parfois, il est tout simplement plus facile de tout recommencer.

crontab -e

Dans ce cas, «e» signifie «modifier». Les utilisateurs qui souhaitent modifier les fonctions décrites dans un onglet Cron plutôt que de supprimer entièrement le fichier peuvent utiliser cette commande pour accéder à l’éditeur de ligne de commande, ce qui leur permettra de: ajoutez de nouvelles tâches, supprimez les anciennes ou modifiez les heures de planification applicables pour chacun des travaux Cron répertoriés dans le document à onglet Cron.

crontab -l

Dans ce cas, il est assez facile de se souvenir en associant le “L” à “look. Cette commande permet à un administrateur de serveur de simplement visualiser le contenu complet de son fichier d’onglet Cron sans le supprimer complètement du serveur et sans pouvoir en modifier le contenu. Cet affichage en lecture seule du contenu de l'onglet Cron est idéal pour rappeler quelles tâches sont planifiées pour quelle heure et pour vérifier l'intégrité du fichier lui-même.

Pourquoi il est important de maîtriser le travail Cron et les fichiers d'automatisation de l'onglet Cron

De manière générale, la seule chose automatisée sur un serveur est la rotation de son disque dur et les performances de ses fonctionnalités matérielles. Au-delà de cela, le serveur doit être formé et formé pour effectuer des tâches routinières et extraordinaires allant au-delà de la simple affichage d'un panneau de configuration ou de la mise à niveau de l'installation de PHP ou de Perl qu'un utilisateur a placée sur le disque dur.

Il est important de garder à l'esprit que l'une des fonctions les plus essentielles qu'un serveur peut exécuter régulièrement est la création d'une sauvegarde des données et des paramètres sur le site. Il n’existe pratiquement aucun moyen d’automatiser ce processus sans un travail Cron et, en raison de la nature d’Internet et de tous les visiteurs malveillants qui consultent un site quotidiennement, l’échec de l’automatisation quotidienne ou hebdomadaire de ce processus pourrait entraîner des pertes de contrôle considérables. et perte de données catastrophique.

En plus de cela, cependant, un certain nombre de tâches doivent être automatisées à l'aide du processus de travail Cron. Ces tâches comprennent le nettoyage des caches de site susceptibles d'afficher des images obsolètes ou du contenu imprimé aux visiteurs du site; cela inclut également la suppression d'anciens fichiers, le nettoyage d'anciens répertoires et d'images et la vérification que tout ce qui est stocké sur le disque dur d'un serveur est à jour et non corrompu.

Tout comme un ordinateur personnel en bonne santé planifie automatiquement la maintenance du disque, les analyses antivirus et anti-programmes malveillants, les mises à jour logicielles et les suppressions de fichiers, un serveur sain doit être configuré pour prendre soin de lui-même et rester en règle. Autrement, il devient vulnérable aux plantages, aux tentatives de piratage et à la perte de données pouvant entraîner une perte de profit, de la publicité, de la création de contenu et même du statut de classement des moteurs de recherche.

Facile à apprendre et plus facile à déployer

La création d'un travail Cron dans un onglet Cron standard est l'une des tâches les plus simples qu'un administrateur de serveur puisse effectuer.

Le processus se situe dans la ligne de commande standard et décompose chaque segment de temps en un code à deux chiffres.

Etant donné qu'il n'exige aucune connaissance supplémentaire d'un nouveau langage de programmation pour automatiser des tâches, le service s'appuie essentiellement sur les connaissances existantes en matière de programmation et de serveur que possède déjà un administrateur. Cela étant, il n’ya aucune raison de ne pas commencer à automatiser les fonctions de serveur essentielles et à assurer l’intégrité des données et des opérations du site.

À propos de Jerry Low

Fondateur de WebHostingSecretRevealed.net (WHSR) - une critique d'hébergement approuvée et utilisée par les utilisateurs de 100,000. Plus de 15 ans d'expérience dans l'hébergement web, le marketing d'affiliation et le référencement. Contributeur à ProBlogger.net, Business.com, SocialMediaToday.com, et plus encore.