bash 스크립트의 특정 경로에있는 로그 파일에 어떻게 메시지를 기록합니까?bash 스크립트의 특정 경로에있는 로그 파일에 메시지를 기록하는 방법
본래의 구현은 같은 명령이 될 것이다 :
echo My message >>/my/custom/path/to/my_script.log
그러나 이것은 아마도 많은 단점 (예를 들어 어떤 로그 회전)를 갖는다. 'logger'명령을 사용할 수는 있지만 사용자 정의 경로에서 로그를 지원하지 않으며 사용자 정의 로그 파일을 사용할 수있는 bash 스크립트가 많은 경우 구성하기 쉽지 않습니다. 루비 같은 스크립팅 언어에서
이 모든 아주 쉽게 : https://github.com/rudionrails/yell/wiki/101-the-datefile-adapter 나는이 루비 라이브러리를 기반으로 내 자신의 logger 명령을 내 bash는 스크립트에서 호출 할 수 있지만, 나는 잘 알려진 솔루션이 이미 존재 같아요 쉘 스크립트에 대해 비슷한 동작을 제공합니까? 당신은 단순히 그런 식으로 떠들썩한 파티 스크립트에서 로그 파일에 텍스트를 추가 할 수 있습니다
'logger'는 데이터를 syslog로 보냅니다. syslog 구성은 사용자가 선택한 로그 파일로 syslog 구성을 분할하여 처리 할 수 있습니다. Syslog는 로그를 회전시키지 않습니다. 일반적으로 logrotate는 모든 파일에서 사용하도록 구성 할 수 있습니다. – jordanm
당신이 'simply_log -f ~/log/foo.log My message'와 같은 것을 실행하는 해결책이 있는지 궁금 해서요.이 파일에 메시지를 기록하고 필요한 경우 로그 파일을 회전시킵니다. (즉, 현대 스크립팅 언어에서 명령을 로깅하는 것과 비슷한 동작). – Erik
서버의 사용자 계정으로 제한되지 않는 한 시스템 전체의 logrotate 프로그램을 사용하는 IMO를 사용하는 것이 좋습니다. 특히 가장 인기있는 로깅 라이브러리 중 하나에 [치명적인 버그]가있는 경우 (http://juliusdavies.ca/logging.html#rotate) – jordanm