Maison Opération et maintenance exploitation et maintenance Linux Comment utiliser Systemd et Crontab pour exécuter régulièrement des scripts sur les systèmes Linux

Comment utiliser Systemd et Crontab pour exécuter régulièrement des scripts sur les systèmes Linux

Sep 26, 2023 pm 02:33 PM
crontab systemd 定时执行

Comment utiliser Systemd et Crontab pour exécuter régulièrement des scripts sur les systèmes Linux

Titre : Utilisez Systemd et Crontab pour exécuter régulièrement des scripts dans les systèmes Linux

Texte :
Dans les systèmes Linux, nous devons souvent exécuter régulièrement certaines tâches de script, telles que la sauvegarde de données, le nettoyage des journaux, etc. Cet article expliquera comment utiliser Systemd et Crontab pour implémenter la fonction d'exécution régulière de scripts et fournira des exemples de code spécifiques.

1. Utilisez Systemd pour exécuter des scripts régulièrement

Systemd est un système d'initialisation et un gestionnaire de services sous le système Linux. En créant des tâches planifiées Systemd, nous pouvons facilement exécuter des scripts régulièrement.

  1. Créez un fichier .service pour définir les paramètres pertinents de la tâche planifiée. En prenant comme exemple le nettoyage régulier des journaux, vous pouvez créer un fichier nommé cleanuplog.service. cleanuplog.service的文件。
[Unit]
Description=Cleanup Log Service

[Service]
Type=simple
ExecStart=/path/to/cleanuplog.sh

[Install]
WantedBy=default.target
Copier après la connexion

其中,ExecStart指定了要执行的脚本路径,需要根据实际情况修改。保存并关闭文件。

  1. 创建一个.timer文件,用于定义定时任务的触发条件和执行逻辑。以每天凌晨1点执行为例,创建一个名为cleanuplog.timer的文件。
[Unit]
Description=Cleanup Log Timer

[Timer]
OnCalendar=*-*-* 01:00:00

[Install]
WantedBy=timers.target
Copier après la connexion

其中,OnCalendar指定了定时任务的触发时间,这里是每天凌晨1点。保存并关闭文件。

  1. 将两个文件移动到/etc/systemd/system目录下。
$ sudo mv cleanuplog.service /etc/systemd/system
$ sudo mv cleanuplog.timer /etc/systemd/system
Copier après la connexion
  1. 启用并启动定时任务。
$ sudo systemctl daemon-reload
$ sudo systemctl enable cleanuplog.timer
$ sudo systemctl start cleanuplog.timer
Copier après la connexion

现在,定时执行脚本的任务就已经创建并启动成功了。

二、使用Crontab定时执行脚本

Crontab是一种用于周期性执行命令或脚本的工具,通过编辑Crontab文件,我们可以轻松定制定时执行脚本的需求。

  1. 编辑当前用户的Crontab文件。
$ crontab -e
Copier après la connexion
  1. 在打开的文件中添加定时执行脚本的命令。以每天凌晨2点执行为例,可以添加如下内容。
0 2 * * * /path/to/cleanuplog.sh
Copier après la connexion

其中,0 2 * * *表示每天凌晨2点,/path/to/cleanuplog.sh

rrreee
    Parmi eux, ExecStart précise le chemin du script à exécuter, qui doit être modifié en fonction de la situation réelle. Enregistrez et fermez le fichier.
    1. Créez un fichier .timer pour définir les conditions de déclenchement et la logique d'exécution de la tâche planifiée. En prenant comme exemple l'exécution à 1 heure du matin tous les jours, créez un fichier nommé cleanuplog.timer.

    rrreee

    Parmi eux, OnCalendar précise l'heure de déclenchement de la tâche planifiée, qui est 1h du matin tous les jours. Enregistrez et fermez le fichier.


    Déplacez les deux fichiers dans le répertoire /etc/systemd/system. 🎜🎜rrreee
      🎜Activez et démarrez les tâches planifiées. 🎜🎜rrreee🎜Maintenant, la tâche d'exécution régulière du script a été créée et démarrée avec succès. 🎜🎜2. Utilisez Crontab pour exécuter des scripts régulièrement 🎜🎜Crontab est un outil permettant d'exécuter périodiquement des commandes ou des scripts En éditant le fichier Crontab, nous pouvons facilement personnaliser les besoins d'exécution planifiée des scripts. 🎜🎜🎜Modifiez le fichier Crontab de l'utilisateur actuel. 🎜🎜rrreee
        🎜Ajoutez une commande pour exécuter le script régulièrement dans le fichier ouvert. En prenant l'exécution à 2 heures du matin tous les jours comme exemple, vous pouvez ajouter le contenu suivant. 🎜🎜rrreee🎜Parmi eux, 0 2 * * * signifie 2 heures du matin tous les jours, et /path/to/cleanuplog.sh signifie le chemin du script à exécuter, qui doit être basé sur la situation réelle Réviser. 🎜🎜🎜Enregistrez et fermez le fichier. 🎜🎜🎜Maintenant, la tâche d'exécution régulière du script a été ajoutée avec succès. 🎜🎜Résumé : 🎜Cet article explique comment utiliser Systemd et Crontab pour exécuter régulièrement des scripts sur les systèmes Linux et fournit des exemples de code spécifiques. En fonction des besoins réels, le choix d'une méthode appropriée pour mettre en œuvre les tâches planifiées peut améliorer l'efficacité du travail et les capacités de gestion automatisée. J'espère que cet article pourra aider les lecteurs à apprendre et à appliquer la méthode de synchronisation de l'exécution du script. 🎜

    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!

    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

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Connaissez-vous quelques raisons pour lesquelles les tâches planifiées de crontab ne sont pas exécutées ? Connaissez-vous quelques raisons pour lesquelles les tâches planifiées de crontab ne sont pas exécutées ? Mar 09, 2024 am 09:49 AM

    Résumé de quelques raisons pour lesquelles les tâches planifiées crontab ne sont pas exécutées. Heure de mise à jour : 9 janvier 2019 09:34:57 Auteur : Hope on the field Cet article résume et vous présente principalement quelques raisons pour lesquelles les tâches planifiées crontab ne sont pas exécutées. tout le monde Des solutions sont données pour chacun des déclencheurs possibles, qui ont une certaine valeur de référence et d'apprentissage pour les collègues qui rencontrent ce problème. Les étudiants dans le besoin peuvent suivre l'éditeur pour apprendre ensemble. Préface : J'ai récemment rencontré des problèmes au travail. La tâche n'a pas été exécutée. Plus tard, lors d'une recherche sur Internet, j'ai découvert qu'Internet mentionnait principalement ces cinq incitations : 1. Le service crond n'est pas démarré n'est pas une fonction du noyau Linux, mais repose sur un cron.

    Comment utiliser Systemd et Crontab pour implémenter l'exécution parallèle de tâches dans les systèmes Linux Comment utiliser Systemd et Crontab pour implémenter l'exécution parallèle de tâches dans les systèmes Linux Sep 26, 2023 pm 06:37 PM

    Comment utiliser Systemd et Crontab pour implémenter l'exécution parallèle de tâches dans un système Linux. Dans un système Linux, l'exécution parallèle de tâches est l'un des moyens importants pour améliorer l'efficacité et les performances du système. Cet article expliquera comment utiliser les outils Systemd et Crontab pour implémenter l'exécution parallèle de tâches dans un système Linux et fournira des exemples de code spécifiques. 1. Introduction à Systemd Systemd est un outil utilisé pour gérer le processus de démarrage et la gestion des services des systèmes Linux. via la configuration

    Comment lire le journal des erreurs Linux crontab Comment lire le journal des erreurs Linux crontab Mar 07, 2023 am 09:29 AM

    Comment afficher le journal des erreurs crontab sous Linux : 1. Affichez le répertoire de fichiers « /var/log/cron » 2. Utilisez la commande « tail -f /var/log/cron » pour afficher la fin du fichier en temps réel ; time; 3. Utilisez la commande "vim /var /log/cron" qui peut être visualisée via une visionneuse de texte avancée.

    Comment résoudre les pièges de Linux commentant les fichiers crontab et crontab exécutant sh Comment résoudre les pièges de Linux commentant les fichiers crontab et crontab exécutant sh May 15, 2023 pm 09:58 PM

    Les pièges de Linux commentant les fichiers crontab et crontab exécutant sh. Il s'avère que de nombreuses crontabs sont écrites sous Linux pour effectuer certaines tâches régulièrement : Condition requise : Il est nécessaire d'annoter certaines tâches crontab. Ajoutez simplement la crontab à annuler. Ajoutez simplement « # » avant la tâche. Par exemple, 54**sunecho"runat5after4everysunday"Commentaire : #54**sunecho"runat5after4everysunday"C'est aussi simple que cela. Rencontrez la fosse 1, regardez l'exemple suivant récemment

    Comment compiler Mysql5.7.11 via Systemd Comment compiler Mysql5.7.11 via Systemd May 29, 2023 pm 06:46 PM

    Principales fonctionnalités de MySQL 5.7 : Prise en charge native de Systemd Meilleures performances : Meilleure optimisation pour les processeurs multicœurs, les disques SSD et les verrous Meilleur moteur de stockage InnoDB Fonction de réplication plus robuste : la réplication n'entraîne aucune perte de données, les clients financiers traditionnels peuvent également choisissez d'utiliser la base de données MySQL. De plus, la mise à niveau fluide en ligne de GTID devient également possible avec un meilleur optimiseur : l'importance de la reconstruction du code de l'optimiseur apportera d'énormes améliorations dans cette version et les versions ultérieures, les responsables d'Oracle résolvent le plus gros problème avant le type JSON natif de MySQL. Prise en charge d'un meilleur support des services d'informations géographiques. : InnoDB prend en charge nativement le type de localisation géographique, prend en charge GeoJSON, GeoHash spécial

    Comment redémarrer automatiquement les applications sous Linux à l'aide de Systemd et Crontab Comment redémarrer automatiquement les applications sous Linux à l'aide de Systemd et Crontab Sep 28, 2023 pm 03:35 PM

    Comment utiliser Systemd et Crontab pour redémarrer automatiquement les applications sur les systèmes Linux. Dans les systèmes Linux, Systemd et Crontab sont deux outils très importants. Systemd est un gestionnaire de systèmes et de services, tandis que Crontab est un outil permettant d'automatiser des tâches à des moments précis. Cet article utilisera un exemple spécifique pour présenter comment utiliser Systemd et Crontab pour redémarrer automatiquement les applications dans les systèmes Linux. Supposons que nous ayons un non

    Comment utiliser Systemd et Crontab pour définir la priorité des tâches planifiées dans le système Linux Comment utiliser Systemd et Crontab pour définir la priorité des tâches planifiées dans le système Linux Sep 27, 2023 am 08:25 AM

    Comment utiliser Systemd et Crontab pour définir la priorité des tâches planifiées dans un système Linux nécessite des exemples de code spécifiques. Dans les systèmes Linux, nous devons souvent configurer des tâches planifiées pour effectuer certaines opérations répétitives, telles que la sauvegarde planifiée des fichiers, le nettoyage régulier des journaux, etc. Cependant, différentes tâches peuvent avoir des priorités différentes, certaines tâches nécessitent une priorité plus élevée pour garantir qu'elles sont exécutées à temps, tandis que d'autres peuvent être exécutées plus tard. Cet article explique comment utiliser Systemd et Crontab pour définir les horaires.

    Planification des tâches via Laravel : exécuter régulièrement des tâches répétitives Planification des tâches via Laravel : exécuter régulièrement des tâches répétitives Aug 13, 2023 pm 05:05 PM

    Planification des tâches via Laravel : exécution planifiée de tâches répétitives Introduction : Lors du développement d'applications Web, certaines tâches répétitives doivent être exécutées régulièrement. Par exemple, envoyez des e-mails, générez des rapports, sauvegardez des données, etc. Effectuer ces tâches manuellement de temps en temps est évidemment inefficace et facile à manquer. Laravel fournit une puissante fonction de planification de tâches qui peut nous aider à exécuter automatiquement ces tâches sur une base planifiée et à améliorer l'efficacité du développement. Cet article expliquera comment effectuer la planification des tâches via Laravel pour mettre en œuvre l'exécution planifiée de tâches répétitives.

    See all articles