Python Script через Systemctl (Ubuntu) не работает (Proxy, проблема с пользователем?) - PullRequest
0 голосов
/ 15 января 2019

У меня странная проблема, и я не могу найти ответ. Я изучил все ответы на этом сайте, касающиеся systemctl и python, но ни один ответ не помог мне с моей проблемой.

У меня два сервера Ubuntu, на одном (server1), служба systemctl и мой скрипт на python работают, на втором сервере (server2) скрипт работает, но служба systemctl не работает.

Разница между серверами составляет:

на Server2, у меня есть root priv. но нет доступа к пользователю root. также на Server2 я подключаюсь к интернету через прокси.

Мой скрипт на python и файл .server более или менее идентичны на обоих серверах (кроме пользователя и пути).

Вот так выглядит файл .service:

[Unit]
Description=tg_onduty
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=myuser
WorkingDirectory=/etc/tg_onduty
ExecStart=/etc/tg_onduty/on_duty.py

[Install]
WantedBy=multi-user.target 

При запуске скрипта через CLI (./on_duty.py) он работает без проблем. когда я смотрю на статус услуги:

myuser@server2:~$ sudo systemctl start tg_onduty
myuser@server2:~$ sudo systemctl status tg_onduty
● tg_onduty.service - tg_onduty
   Loaded: loaded (/etc/systemd/system/tg_onduty.service; enabled; vendor preset: enab
   Active: active (running) since Tue 2019-01-15 11:06:50 UTC; 3s ago
 Main PID: 1657 (on_duty.py)
    Tasks: 12 (limit: 898)
   CGroup: /system.slice/tg_onduty.service
           └─1657 /usr/bin/python3 /etc/tg_onduty/on_duty.py

Jan 15 11:06:50 server2 systemd[1]: Started tg_onduty.

и так и остается (активно, без ошибок).

Поскольку файл .service отлично работает на сервере Server1, я полагаю, он связан с подключением через Интернет через прокси-сервер или с моим пользователем.

Как я уже сказал, если я пытаюсь начать с ./on_duty.py, он работает без проблем на server2. Также я могу просматривать веб-сайты и все такое, так что общее интернет-соединение предоставляется.

потому что статус systemctl не дает мне ни намека на то, что скрипт не работает, ни какого-либо другого намека на то, где искать ошибку, я надеюсь, что у вас есть какие-то идеи и советы для устранения этой проблемы или, возможно, вы знаете, что происходит не так.

заранее спасибо

1 Ответ

0 голосов
/ 15 января 2019

Хорошо, извините, ребята, я нашел ошибку.Мне пришлось указать прокси через файл .service:

[Service]
EnvironmentFile=/etc/proxy.enviroment

/ etc / proxy.enviroment:

http_proxy="http:/yourproxy:8080/"
https_proxy="http://yourproxy:8080/"
ftp_proxy="http://yourproxy:8080/"
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
HTTP_PROXY="http://yourproxy:8080/"
HTTPS_PROXY="http://yourproxy:8080/"
...