🐍 Python νŒŒμΌμ„ μš°λΆ„νˆ¬ μ„œλ²„ systemd μ„œλΉ„μŠ€λ‘œ λ“±λ‘ν•˜κ³  μ‹€ν–‰ν•˜κΈ°

μ΄κ²½ν—ŒΒ·2025λ…„ 4μ›” 6일

μš°λΆ„νˆ¬ μ„œλ²„μ—μ„œ Python 슀크립트λ₯Ό λ‹¨μˆœνžˆ μ‹€ν–‰ν•˜λŠ” 것을 λ„˜μ–΄, μ‹œμŠ€ν…œ μ„œλΉ„μŠ€λ‘œ λ“±λ‘ν•˜μ—¬ λ°±κ·ΈλΌμš΄λ“œ μ‹€ν–‰, μžλ™ μž¬μ‹œμž‘, μ„œλ²„ λΆ€νŒ… μ‹œ μžλ™ μ‹€ν–‰κΉŒμ§€ κ°€λŠ₯ν•˜κ²Œ λ§Œλ“œλŠ” 방법을 μ†Œκ°œν•©λ‹ˆλ‹€.

μ˜ˆμ‹œλŠ” telegram_bot.pyλΌλŠ” 봇 νŒŒμΌμ„ λ“±λ‘ν•˜λŠ” κΈ°μ€€μ΄μ§€λ§Œ, λͺ¨λ“  Python μŠ€ν¬λ¦½νŠΈμ— μ μš©ν•  수 μžˆλŠ” 일반적인 κ°€μ΄λ“œμž…λ‹ˆλ‹€.


1️⃣ pip μ„€μΉ˜ 및 νŒ¨ν‚€μ§€ μ„€μΉ˜

pip μ„€μΉ˜

sudo apt-get install python3-pip

ν•„μš”ν•œ νŒ¨ν‚€μ§€ μ„€μΉ˜ μ˜ˆμ‹œ (python-telegram-bot λ“±)

pip install python-telegram-bot

2️⃣ 파이썬 파일 직접 μ‹€ν–‰

일반 μ‹€ν–‰

python3 your_script.py

λ°±κ·ΈλΌμš΄λ“œ μ‹€ν–‰ (둜그 μ €μž₯ 포함)

nohup python3 your_script.py > output.log 2>&1 &
  • nohup: 터미널 μ’…λ£Œ μ‹œμ—λ„ μ‹€ν–‰ μœ μ§€
  • > output.log 2>&1: ν‘œμ€€ 좜λ ₯κ³Ό 였λ₯˜λ₯Ό λͺ¨λ‘ output.log에 μ €μž₯

3️⃣ systemd μ„œλΉ„μŠ€λ‘œ 등둝

Python 슀크립트λ₯Ό 정식 μ„œλΉ„μŠ€μ²˜λŸΌ λ“±λ‘ν•˜λ €λ©΄ systemd μ„œλΉ„μŠ€ νŒŒμΌμ„ λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

β‘  μ„œλΉ„μŠ€ 파일 생성

sudo nano /etc/systemd/system/telegrambot.service

β‘‘ μ„œλΉ„μŠ€ 파일 λ‚΄μš©

[Unit]
Description=Telegram Bot Service
After=network.target

[Service]
ExecStart=/usr/bin/python3 /home/telegrambot/telegram_bot.py
WorkingDirectory=/home/telegrambot
StandardOutput=file:/home/telegrambot/output.log
StandardError=file:/home/telegrambot/output.log
TimeoutStopSec=10
Restart=on-failure
User=eventor

[Install]
WantedBy=multi-user.target

πŸ”Ή ExecStart κ²½λ‘œμ™€ UserλŠ” μžμ‹ μ˜ ν™˜κ²½μ— 맞게 μˆ˜μ •ν•˜μ„Έμš”.


4️⃣ μ„œλΉ„μŠ€ 등둝 및 μ‹€ν–‰

μ„œλΉ„μŠ€ λ¦¬λ‘œλ“œ

sudo systemctl daemon-reload

μ„œλΉ„μŠ€ μ‹œμž‘

sudo systemctl start telegrambot.service

μ„œλΉ„μŠ€ μƒνƒœ 확인

sudo systemctl status telegrambot.service

λΆ€νŒ… μ‹œ μžλ™ μ‹€ν–‰ μ„€μ •

sudo systemctl enable telegrambot.service

5️⃣ μ‹œμŠ€ν…œ μ‹œκ°„λŒ€ μ„€μ • (ν•œκ΅­ KST둜 μ„€μ •)

ν˜„μž¬ μ‹œκ°„λŒ€ 확인

timedatectl

ν•œκ΅­ μ‹œκ°„λŒ€λ‘œ λ³€κ²½

sudo timedatectl set-timezone Asia/Seoul

6️⃣ 기타: μ‚¬μš©μž sudo κΆŒν•œ λΆ€μ—¬

μ„œλΉ„μŠ€ 싀행을 μœ„ν•œ μ‚¬μš©μžμ—κ²Œ sudo κΆŒν•œμ„ λΆ€μ—¬ν•˜λ €λ©΄ μ•„λž˜μ™€ 같이 ν•©λ‹ˆλ‹€.

sudo usermod -aG sudo μ‚¬μš©μžλͺ…

ν˜„μž¬ μ‚¬μš©μž 확인

whoami

βœ… 마무리

이제 Python μŠ€ν¬λ¦½νŠΈκ°€ μ„œλΉ„μŠ€μ²˜λŸΌ λ™μž‘ν•©λ‹ˆλ‹€!

  • μ„œλ²„κ°€ μž¬λΆ€νŒ…λ˜μ–΄λ„ μžλ™ μ‹€ν–‰
  • μ˜ˆμ™Έ λ°œμƒ μ‹œ μžλ™ μž¬μ‹œμž‘
  • 둜그 νŒŒμΌμ„ ν†΅ν•œ μ‹€μ‹œκ°„ 확인 κ°€λŠ₯

0개의 λŒ“κΈ€