📟

Discordのbotを常時起動させる

2023/04/07に公開

こんにちは、似鳥です!
今回は、systedを使用してbotを常時起動させる方法を備忘録も兼ねて書いていきたいと思います!

ユニットファイルを作成する

hoge.serviceを/etc/systemd/systemに作成します!
(パスは/etc/systemd/system/hoge.service)
ファイルの内容は以下にしてください
「hoge」はサービス名、「hogekun」はユーザー名です。
「WorkingDirectory」は実行するファイルのあるディレクトリのパスを入力してください。
「ExecStart」は1つ目はNode.jsのパス、2つ目はbotの実行ファイルのパスを入力してください。
編集する必要のある箇所に●を付けてあります

hoge.service
[Unit]
Description= Node.js hoge #●

[Service]
Type=simple
User=hogekun #●
WorkingDirectory=/home/hogekun/botkun #●
ExecStart=/bin/node /home/hogekun/botkun/index.js #●
ExecStop=/usr/bin/pkill -e node
Restart=always
RestartSec=2
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=hoge #●

[Install]
WantedBy=multi-user.target

Systemdへの登録等

  1. ファイルが認識されているかの確認
systemctl list-unit-files --type=service | grep hoge
  1. 起動する
systemctl start hoge.service
  1. 状態を確認する
systemctl status hoge.service
  1. 自動起動を有効にする
systemctl enable hoge.service

おわりに

以上がsystemdを使用してbotを常時起動させる方法です!
これ以外にもいろいろな方法があるので、ぜひ調べてみてください!

GitHubで編集を提案

Discussion