![Journalctl 출력을 systemctl --user 서비스에서 파일로 리디렉션하는 방법은 무엇입니까?](https://linux55.com/image/196720/Journalctl%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20systemctl%20--user%20%EC%84%9C%EB%B9%84%EC%8A%A4%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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