Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So starten Sie Anwendungen unter Linux mithilfe von Systemd und Crontab automatisch neu

So starten Sie Anwendungen unter Linux mithilfe von Systemd und Crontab automatisch neu

PHPz
PHPzOriginal
2023-09-28 15:35:081457Durchsuche

So starten Sie Anwendungen unter Linux mithilfe von Systemd und Crontab automatisch neu

So verwenden Sie Systemd und Crontab, um Anwendungen im Linux-System automatisch neu zu starten

Im Linux-System sind Systemd und Crontab zwei sehr wichtige Tools. Systemd ist ein System- und Dienstmanager, während Crontab ein Tool zur Automatisierung von Aufgaben zu bestimmten Zeiten ist. In diesem Artikel wird anhand eines konkreten Beispiels erläutert, wie Sie mithilfe von Systemd und Crontab Anwendungen in Linux-Systemen automatisch neu starten.

Angenommen, wir haben eine Node.js-Anwendung und möchten die Anwendung nach einem Serverneustart automatisch starten. Zuerst müssen wir einen Systemd-Dienst erstellen, um unsere Anwendung zu verwalten. Öffnen Sie einen Texteditor und erstellen Sie eine Datei mit dem Namen myapp.service. Schreiben Sie in die Datei Folgendes: myapp.service的文件。在文件中,写入以下内容:

[Unit]
Description=My Node.js App
After=network.target

[Service]
ExecStart=/usr/bin/node /path/to/app.js
WorkingDirectory=/path/to/app
Restart=always
User=nobody
Group=nogroup
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

解释一下这个文件的各个部分。Unit部分定义了服务的描述和依赖项。Service部分定义了应用程序的启动命令、工作目录、重启策略以及应用程序运行的用户和组。Install

sudo mv myapp.service /etc/systemd/system/

Erklären Sie die verschiedenen Teile dieser Datei. Der Abschnitt Unit definiert die Dienstbeschreibung und Abhängigkeiten. Der Abschnitt Service definiert den Startbefehl der Anwendung, das Arbeitsverzeichnis, die Neustartrichtlinie sowie den Benutzer und die Gruppe, unter denen die Anwendung ausgeführt wird. Der Abschnitt Install definiert, in welchen Zielen der Dienst aktiviert werden soll.

Speichern und schließen Sie die Datei. Als nächstes verschieben Sie die Datei in das Diensteverzeichnis von Systemd. Führen Sie den folgenden Befehl aus:

sudo systemctl start myapp

Jetzt können wir Systemd verwenden, um die Anwendung zu starten, zu stoppen und neu zu starten. Führen Sie den folgenden Befehl aus, um die Anwendung zu starten:

sudo systemctl stop myapp

Führen Sie den folgenden Befehl aus, um die Anwendung zu stoppen:

sudo systemctl restart myapp

Führen Sie den folgenden Befehl aus, um die Anwendung neu zu starten:

crontab -e

Als Nächstes verwenden wir Crontab, um einen regelmäßigen Neustart der Anwendung zu konfigurieren . Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um die Crontab des aktuellen Benutzers zu bearbeiten:

0 3 * * * sudo systemctl restart myapp

Schreiben Sie im Editor Folgendes:

rrreee

Dieser Crontab-Eintrag bedeutet, dass die Anwendung jeden Tag um 3 Uhr morgens neu gestartet wird. Sie können diese Zeit entsprechend Ihren Bedürfnissen ändern.

Speichern und schließen Sie die Datei. Jetzt wird die Anwendung jeden Tag um 3 Uhr morgens automatisch neu gestartet.

Bisher haben wir vorgestellt, wie man Systemd und Crontab verwendet, um Anwendungen in Linux-Systemen automatisch neu zu starten. Durch die Verwendung von Systemd können wir das Starten, Stoppen und Neustarten von Anwendungen einfach verwalten. Durch die Verwendung von Crontab können wir die Anwendung regelmäßig neu starten, um ihre Stabilität und Leistung sicherzustellen. Ich hoffe, dieser Artikel hilft Ihnen! 🎜

Das obige ist der detaillierte Inhalt vonSo starten Sie Anwendungen unter Linux mithilfe von Systemd und Crontab automatisch neu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn