


Comment utiliser Systemd et Crontab pour exécuter régulièrement des scripts sur les systèmes Linux
Sep 26, 2023 pm 02:33 PMTitre : 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.
- 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
其中,ExecStart
指定了要执行的脚本路径,需要根据实际情况修改。保存并关闭文件。
- 创建一个.timer文件,用于定义定时任务的触发条件和执行逻辑。以每天凌晨1点执行为例,创建一个名为
cleanuplog.timer
的文件。
[Unit] Description=Cleanup Log Timer [Timer] OnCalendar=*-*-* 01:00:00 [Install] WantedBy=timers.target
其中,OnCalendar
指定了定时任务的触发时间,这里是每天凌晨1点。保存并关闭文件。
- 将两个文件移动到
/etc/systemd/system
目录下。
$ sudo mv cleanuplog.service /etc/systemd/system $ sudo mv cleanuplog.timer /etc/systemd/system
- 启用并启动定时任务。
$ sudo systemctl daemon-reload $ sudo systemctl enable cleanuplog.timer $ sudo systemctl start cleanuplog.timer
现在,定时执行脚本的任务就已经创建并启动成功了。
二、使用Crontab定时执行脚本
Crontab是一种用于周期性执行命令或脚本的工具,通过编辑Crontab文件,我们可以轻松定制定时执行脚本的需求。
- 编辑当前用户的Crontab文件。
$ crontab -e
- 在打开的文件中添加定时执行脚本的命令。以每天凌晨2点执行为例,可以添加如下内容。
0 2 * * * /path/to/cleanuplog.sh
其中,0 2 * * *
表示每天凌晨2点,/path/to/cleanuplog.sh
- 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. 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. /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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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 résoudre les pièges de Linux commentant les fichiers crontab et crontab exécutant sh

Comment compiler Mysql5.7.11 via Systemd

Comment lire le journal des erreurs Linux crontab

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 réaliser le démarrage automatique du système Linux
