Pythonで作ったDiscordサーバーを永続化するための手順をまとめました。
ステップ1: サービスファイルの作成
/etc/systemd/system/
ディレクトリ内にサービスファイル(例:discordbot.service
)を作成
sudo vim /etc/systemd/system/discordbot.service
- 以下の内容をファイルに追加。
User
,Group
,WorkingDirectory
,ExecStart
を各自の環境に合わせて適宜変更が必要
[Unit] Description=Discord Bot After=network.target [Service] User=ec2-user Group=ec2-user WorkingDirectory=/path/to/your/discord_bot ExecStart=/usr/bin/python3 /path/to/your/discord_bot/bot.py Restart=always # その他のオプション: # Environment="VARIABLE=VALUE" # EnvironmentFile=-/path/to/environment/variable/file [Install] WantedBy=multi-user.target
補足
User
とGroup
は、ボットを実行するユーザーとグループWorkingDirectory
はボットのスクリプトがあるディレクトリへのパスExecStart
はボットを起動するコマンド- 環境変数が必要な場合は、
Environment
やEnvironmentFile
を使用して指定します。
ステップ2: サービスの有効化と起動
- 新しく作成したサービスをリロードし、システムが認識できるようにします。
sudo systemctl daemon-reload
- サービスを有効化し、システム起動時に自動的に起動するように設定
sudo systemctl enable discordbot.service
- サービスを起動
sudo systemctl start discordbot.service
- サービスの状態を確認して、正しく起動していることを確認
sudo systemctl status discordbot.service
ステップ3: ログの確認
- サービスのログは
journalctl
コマンドを使用して確認できる。
sudo journalctl -u discordbot.service
- 特定の期間のログを見るには、
--since
オプションを使用
sudo journalctl -u discordbot.service --since "2023-01-01" --until "2023-01-02"