我有一个奇怪的问题,我找不到答案。我研究了该网站上有关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状态没有提示我脚本失败,也没有其他提示可以在哪里查找错误,我希望您有一些想法和提示可以帮助我解决此问题,或者您知道出了什么问题。
预先感谢
答案 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/"