로그 파일을 회전하면서 압축해야 하는 사용 사례가 있습니다.
보다 구체적으로, 우리는 크기 회전을 기반으로 감사 추적을 수행했습니다.
따라서 로그 파일의 크기가 100M에 도달하면 회전하여 다음 내용을 추가합니다 /var/log/messages
.
감사 데몬은 keep 옵션을 사용하여 로그 파일을 순환합니다.
audit.log.1
이 줄이 기록될 때 생성된 파일을 압축하는 스크립트를 실행하고 싶습니다 . omprog
더 좋은 방법이 없다면 이것이 최선의 방법이라고 생각합니다 .
omprog에 대한 문서는 그다지 명확하지 않습니다. rsyslog 또는 다른 종류의 데몬을 사용하여 파일 시스템을 모니터링하고 파일이 있을 때 압축 스크립트를 트리거하려고 합니까?
답변1
메시지를 일치시키고 프로그램을 실행하려면 /etc/rsyslog.d/99-myaudit.conf
다음 내용으로 파일을 만듭니다.
module(load="omprog")
if $msg startswith ' Audit daemon rotating log files' then action(type="omprog" binary="/bin/myprog")
다시 시작하세요 rsyslogd
. 메시지 문자열의 시작 부분에 공백이 있을 수 있으므로 공백을 추가했습니다. 원한다면 $msg contains 'Audit daemon rotating'
좀 더 루즈한 핏 으로 갈 수도 있습니다.
/bin/myprog
메시지가 일치하면 실행 가능한 프로그램이나 스크립트가 실행됩니다. 표준 입력에 일치하는 메시지를 제공합니다. 프로그램이 종료되면 다음에 메시지가 일치할 때 다시 시작됩니다.
테스트하는 동안 프로그램의 출력을 수집하기 위해 파일 이름을 추가할 수 있습니다 action(type="omprog" binary="/bin/myprog" output="/tmp/mylog")
. 예를 들어 .오프로그.