Linux
嘗試使用 systemd 將輸出發送到帶有 tee 的日誌文件,但未創建日誌文件?
我想通過執行節點應用程序
systemd
並將其輸出發送到標準輸出和日誌文件。節點應用程序位於名為的文件夾中www/www.appname.com
,我希望將日誌文件保存在www/log.appname.com
. 我servicename
定義了以下服務:[Service] ExecStart=/usr/bin/node server | tee -a ../log.appname.com/appname.service.log KillMode=process Restart=always RestartSec=20 WorkingDirectory=/home/username/www/www.appname.com [Install] WantedBy=default.target
但是當我執行我的服務時,例如
systemctl --user restart servicename
然後文件夾
www/log.appname.com
保持空白,所以我在 ? 中使用的路徑名可能有問題tee
?
不直接支持 Shell 命令行。如果要使用 shell 命令行,則需要將它們顯式傳遞給某種 shell 實現。例子:
ExecStart=sh -c ‘dmesg | 廁所’
所以嘗試類似的東西
ExecStart=sh -c '/usr/bin/node server | tee -a ../log.appname.com/appname.service.log'