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

    Article chaud

    Repo: Comment relancer ses coéquipiers
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    3 Il y a quelques semaines By DDD

    Article chaud

    Repo: Comment relancer ses coéquipiers
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    3 Il y a quelques semaines By DDD

    Tags d'article chaud

    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

    Connaissez-vous quelques raisons pour lesquelles les tâches planifiées de crontab ne sont pas exécutées ?

    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 les systèmes Linux

    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

    Comment résoudre les pièges de Linux commentant les fichiers crontab et crontab exécutant sh

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

    Comment compiler Mysql5.7.11 via Systemd

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

    Comment lire le journal des erreurs Linux crontab

    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 redémarrer automatiquement les applications sous Linux à l'aide de Systemd et Crontab

    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 le système Linux

    Comment utiliser Systemd et Crontab pour réaliser le démarrage automatique du système Linux Comment utiliser Systemd et Crontab pour réaliser le démarrage automatique du système Linux Sep 26, 2023 am 11:57 AM

    Comment utiliser Systemd et Crontab pour réaliser le démarrage automatique du système Linux

    See all articles