Linux에서 stdout 및 stderr을 rsyslog로 영구적으로 리디렉션하는 방법

Linux에서 stdout 및 stderr을 rsyslog로 영구적으로 리디렉션하는 방법

저는 Yocto의 임베디드 Linux 버전을 사용합니다. 시스템에서 실행 중인 응용 프로그램이 콘솔에 정보를 표시하는 것을 원하지 않습니다. 이러한 로그를 시스템 로그로 리디렉션하거나 결국에는 다른 일반 파일로 리디렉션하고 싶습니다. 내 스크립트나 애플리케이션 내에서 rsyslog에 직접 로그인할 수 있다는 것을 알고 있지만 시스템의 모든 애플리케이션에 대한 소스를 변경하는 것은 너무 힘듭니다. stdout 및 stderr을 rsyslog로 강제로 리디렉션하거나 결국 다른 일반 파일로 영구적으로 리디렉션할 수 있습니까?

답변1

에 쓸 수 있습니다 logger. 기본적으로 기능과 우선순위를 사용 user.notice하지만 이는 적절한 명령 플래그를 사용하여 변경할 수 있습니다.

logger 'this is a test'

ps -ef 2>&1 | logger

답변2

리디렉션을 사용하여 셸을 실행할 수 있습니다.

$ bash >out 2>err
ls
exit

이제 해당 셸에서 실행한 명령의 모든 출력은 파일로 이동되고 out모든 오류는 err.

관련 정보