我有一个用户服务,它位于/home/<user>/.config/systemd/user/<service>.service
当我执行时,systemctl --user status <service>
我得到了所需的输出,例如:
<user>@<server>:~$ systemctl --user status <service>
● <service>.service - Service
Loaded: loaded (/home/<user>/.config/systemd/user/<service>.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-07-27 10:23:34 UTC; 9min ago
Main PID: 19059 (<service>)
CGroup: /user.slice/user-1008.slice/[email protected]/<service>.service
└─19059 /home/<user>/.local/share/<software>/install/active_release/bin/<software>-validator
Logs
Logs
Logs
但是当尝试查看完整日志时journalctl --user -u <service> -f
我什么也看不到,输出如下:
<user>@<server>:~$ journalctl --user -u <service> -f
No journal files were found.
我已经在很多其他服务器上运行了此设置,配置完全相同,但这种情况只发生在这台服务器上,它是来自 Equinix 的一些服务器,也许这个提供商的 journalctl 配置有所不同?但需要指出的是,我已经在这台机器上安装了其他服务(不是用户服务,而是系统范围的服务),这种情况没有发生。
/etc/systemd/journal.conf 是其默认配置。
我看到了这篇文章,与我的问题略有相关:Linux journalctl 未与 systemctl 状态同步/Journalctl 未更新,我尝试在 [Service] 部分下插入StandardOutput=journal
并重新启动了服务,但我还没有在 journalctl 中看到任何日志。StandardError=journal
systemctl --user daemon-reload
我还检查了我的 /var 以验证是否缺少磁盘空间,但我的磁盘上有相当多的可用空间。
我的服务现在配置如下:
[Unit]
Description=<Service description>
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
EnvironmentFile=/home/<user>/rpc.env
ExecStart=/home/<user>/bin/<service_script>.sh
#ExecStartPost=/usr/bin/taskset -a -p -c 5-23 28-47 $MAINPID
CPUAffinity=5-23 28-47
Nice=-10
LimitNOFILE=700000
LimitNPROC=700000
LogRateLimitIntervalSec=0
LogRateLimitBurst=0
WorkingDirectory=/home/<user>/
[Install]
WantedBy=default.target
你们知道我该如何修复它吗?