추가 읽기

추가 읽기

다음을 수행할 수 있는 명령이 있습니까?

someprogram | tee --limit=1MB afile

여기서 "afile"에는 "someprogram"의 최신 1MB 출력이 포함됩니까?

답변1

정확히는 그렇지 않을 것입니다. 워밍업되고 파일이 채워지면 1MiB를 다시 작성합니다.질소바이트의 오래된 데이터를 파일을 따라 섞습니다.질소버퍼 끝에 새로운 데이터 바이트가 추가됩니다. 이는 완전히 이상적인 메커니즘은 아니며, 파일을 쓰는 동안 파일을 읽는 것은 "찢어짐" 문제가 발생하기 쉽습니다.

이에 가깝게 많은 명령이 존재합니다. 현재 파일과 이전 파일의 수를 2개로 늘려 언제든지 최신 출력의 1MiB ~ 2MiB를 갖고 출력은 일단 작성된 후 복사되지 않으며 전체 daemontools 시리즈를 갖게 됩니다. 로그 프로그램은 기능을 완료하도록 설계되었습니다. 본질적으로 그들은 단지 " tee플러스"입니다.

  • 댄 번스타인과 함께multilogdaemontools와 Bruce Guenter의 글multilogdaemontools-encore에서:

    특정 프로그램|다중 로그 n2 s1048576 ./logdir/
  • 로랑 베르코와 함께s6-logs6부터:

    특정 프로그램 | s6-log n2 s1048576 ./logdir/
  • 게릿 펩의svlogdrunit의 구성 파일은 다음과 같습니다 n2 s1048576.

    일부 프로그램 | svlogd ./logdir/
  • 웨인 마샬의tinylog범죄자로부터 :

    특정 프로그램 |tinylog -k 1 -s 1048576 ./logdir/
  • 그리고 내cyclog노쉬에서:

    특정 프로그램 | cyclog --최대 파일 크기 1048576 --최대 전체 크기 1048576 ./logdir/

추가 읽기

답변2

필요한 작업을 정확하게 수행하는 유틸리티가 패키지에 apache2-utils있습니다 .rotatelogs

요약:

로그 회전 [ -l ] [ -L링크 이름] [-p프로그램] [ -f ] [ -t ] [ -v ] [ -e ] [ -c ] [ -n파일 수] 로그 파일회전 시간|파일 크기(B|K|M|G) [오프셋]

전체 설명서를 읽을 수 있습니다.이 링크.

관련 정보