systemd 출력(바이너리 stdout/stderr이 아님. 즉, Journalctl로 전송된 실제 시스템 출력을 의미함)을 특정 사용자 단위의 파일로 리디렉션해야 합니다.
사용자가 다음을 사용하여 Journalctl을 볼 수 있다는 것을 알고 있습니다.
journalctl --follow --user -u userunit.service
그러나 이를 위해서는 /etc/systemd/journald.conf 조정, 스토리지 조정 및 Storage=persistent
재부팅이 필요합니다. 우리는 이것을 할 수 없습니다.
바이너리의 stdout 및 sterr을 파일로 리디렉션하는 방법을 알고 있습니다. 셀의 모든 Journalctl 출력을 내가 선택한 파일로 어떻게 리디렉션합니까?
가능합니까?
편집하다
이 작업을 기본적으로 수행할 수 있는 방법은 없는 것 같습니다. 그래서 저는 Journalctl의 리디렉션을 수행하기 위해 별도의 유닛을 만들었고 다음이 작동했습니다.
[Unit]
Description=redirect journalctl output for userunit to .log file
[Service]
ExecStart=/usr/bin/bash -c "/usr/bin/journalctl --follow --user -u userunit.service >> /home/user1/log/userunit.log"
Restart=always
RestartSec=3
Type=simple
[Install]
WantedBy=default.target