【发布时间】:2019-01-15 11:17:58
【问题描述】:
我有一个奇怪的问题,我找不到答案。我研究了这个网站上关于 systemctl 和 python 的所有答案,但没有答案能帮助我解决我的问题。
我有两个 Ubuntu 服务器,在一个 (server1) 上,systemctl 服务和我的 python 脚本正在工作,在第二个服务器 (server2) 上脚本正在工作,但 systemctl 服务不工作。
服务器的区别是:
在 Server2 上,我有 root 权限。但无法访问 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 上运行良好,我想这与通过 Internet 连接代理或我的用户有关。
就像我说的,如果我尝试从 ./on_duty.py 开始,它在 server2 上没有问题。我也可以浏览网站等等,所以提供了一般的互联网连接。
因为 systemctl 状态没有提示我脚本失败或任何其他提示在哪里查找错误,我希望您对我解决此问题有一些想法和提示,或者您可能知道出了什么问题。
提前致谢
【问题讨论】:
-
另外我想添加以下评论:在脚本期间,文件是在本地磁盘上创建的。这些文件是在我启动服务时创建的。所以我猜systemctl没有使用代理连接电报api有问题?
标签: python ubuntu proxy systemctl