Maison > Opération et maintenance > exploitation et maintenance Linux > Tutoriel de démarrage Linux Systemd Crontab : des bases à l'avancée

Tutoriel de démarrage Linux Systemd Crontab : des bases à l'avancée

王林
Libérer: 2023-09-26 08:53:02
original
903 Les gens l'ont consulté

Linux Systemd Crontab入门教程:从基础到进阶

Tutoriel de démarrage Linux Systemd Crontab : des bases à avancé

Introduction :
Dans les systèmes Linux, nous devons souvent effectuer certaines tâches régulièrement, telles que la sauvegarde de données, le nettoyage de fichiers temporaires, etc. Afin d'automatiser l'exécution de ces tâches, nous pouvons utiliser Crontab pour créer et gérer des tâches planifiées. Dans les dernières distributions Linux, Systemd est devenu un outil courant d'initialisation et de gestion du système. Cet article explique comment utiliser Crontab de Systemd pour écrire et gérer des tâches planifiées, ainsi que certaines techniques avancées.

1. Connaissance de base de Crontab

  1. Le concept de Crontab : Crontab est un outil utilisé pour exécuter des commandes ou des scripts à des intervalles de temps spécifiques. Cela peut être réalisé en écrivant des tâches dans des fichiers Crontab du système.
  2. Structure organisationnelle du fichier Crontab : Le fichier Crontab se trouve dans le répertoire /var/spool/cron et chaque utilisateur possède son propre fichier Crontab. Le fichier Crontab de l'administrateur système est placé dans /etc/crontab. Les fichiers Crontab sont constitués de plusieurs lignes, chaque ligne est une tâche Cron.
  3. Format de l'heure Crontab : Le format de l'heure de la tâche Crontab est composé de 5 champs, qui représentent respectivement les minutes, les heures, les dates, les mois et les semaines. Ces champs sont séparés par des espaces.
  4. Format de commande Crontab : Dans le fichier Crontab, chaque ligne représente une tâche. Chaque tâche consiste en une définition temporelle et une commande à exécuter.

2. Comment utiliser Systemd Crontab

  1. Écrire un fichier Crontab : utilisez vim ou un autre éditeur pour ouvrir le fichier Crontab, par exemple :
sudo vim /etc/crontab
Copier après la connexion
  1. Écrire une tâche Crontab : ajoutez une tâche planifiée dans le fichier. Par exemple, nous créons une tâche de sauvegarde qui est exécutée à 8 heures tous les matins. La commande est la suivante :
0 8 * * * root /path/to/backup.sh
Copier après la connexion

Dans la commande ci-dessus, le premier "0 8 *" signifie que la tâche sera exécutée. à 8 heures tous les jours, et le "/path/to/backup.sh" suivant est le chemin d'accès au script de sauvegarde.

  1. Enregistrez et quittez le fichier Crontab : Après avoir enregistré le fichier Crontab, utilisez "Ctrl+X" pour quitter l'éditeur.
  2. Redémarrez le service Systemd Crontab : pour que la nouvelle tâche Crontab prenne effet, nous devons redémarrer le service Systemd Crontab. Utilisez la commande suivante pour redémarrer :
sudo systemctl restart cron.service
Copier après la connexion
  1. Afficher les tâches Crontab : Pour afficher les tâches Crontab créées, vous pouvez utiliser la commande suivante :
sudo crontab -l
Copier après la connexion

3. Techniques avancées d'utilisation de Systemd Crontab

  1. Utilisez les variables d'environnement Crontab : Dans la tâche Crontab, nous pouvons définir des variables d'environnement en utilisant. Par exemple, utilisez la commande suivante dans la tâche pour définir la variable PATH :
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Copier après la connexion
  1. Redirection des tâches : dans la tâche Crontab, nous pouvons rediriger la sortie standard et la sortie d'erreur pour faciliter la journalisation et le débogage ultérieurs. Par exemple, enregistrez les informations de sortie de la tâche dans un fichier :
0 * * * * /path/to/script.sh > /path/to/logfile.log 2>&1
Copier après la connexion

Dans la commande ci-dessus, ">" signifie rediriger la sortie standard vers le fichier spécifié, "2>&1" signifie rediriger la sortie d'erreur standard vers le même fichier que la sortie standard à la même position.

  1. Définissez l'environnement d'exécution des tâches : certaines tâches Crontab peuvent devoir être exécutées dans un environnement d'exécution spécifique. Nous pouvons utiliser la directive Environment de Systemd pour définir l'environnement d'exécution des tâches. Par exemple, utilisez le code suivant dans une tâche Crontab pour définir des variables d'environnement :
Environment="ENV_VAR=value"
Copier après la connexion
  1. Contrôlez le nombre d'exécutions d'une tâche : Parfois, nous souhaitons qu'une tâche soit exécutée plusieurs fois au cours d'une période de temps spécifiée. Systemd Crontab fournit l'option OnCalendar pour contrôler le nombre d'exécutions de tâches. Par exemple, la commande suivante sera exécutée toutes les 30 minutes entre 14h et 17h le premier et le 15 de chaque mois :
OnCalendar=*-01,15:14-17/30
Copier après la connexion

Résumé :
Grâce à l'introduction de cet article, nous pouvons comprendre comment utiliser la Crontab de Systemd pour rédiger et gérer des tâches planifiées. Nous avons non seulement appris l'utilisation de base de Crontab, mais également certaines techniques avancées, telles que la définition de variables d'environnement, l'application de la redirection, etc. Maîtrisez ces compétences pour gérer les tâches planifiées de manière plus flexible et efficace. J'espère que cet article sera utile à tout le monde et pourra faire jouer pleinement le rôle de Systemd Crontab dans les travaux pratiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal