通过Systemctl(Ubuntu)编写的Python脚本无法正常工作(代理,用户出现问题了?)

时间:2019-01-15 11:17:58

标签: python ubuntu proxy systemctl

我有一个奇怪的问题,我找不到答案。我研究了该网站上有关systemctl和python的所有答案,但没有答案可以帮助我解决问题。

我有两个Ubuntu Server,其中一个(server1)上有systemctl服务和我的python脚本,第二个服务器(server2)脚本上有作用,但systemctl服务不起作用。

服务器之间的区别是:

在Server2上,我具有root priv。但无权访问root用户。 同样在Server2上,我也通过代理连接到Internet。

我的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上运行良好,我想这与通过Internet与代理或与用户连接有关。

就像我说的那样,如果我尝试以./on_duty.py开头,则在server2上没有问题。我也可以浏览网站等等,因此可以提供一般的互联网连接。

因为systemctl状态没有提示我脚本失败,也没有其他提示可以在哪里查找错误,我希望您有一些想法和提示可以帮助我解决此问题,或者您知道出了什么问题。

预先感谢

1 个答案:

答案 0 :(得分:0)

好的,抱歉,我发现了错误。我必须通过.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/"