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"
