파일을 회전하고 회전된 파일을 "backup"이라는 새 디렉터리에 배치하고 싶습니다. 로그 회전이 제대로 작동하고 회전된 파일이 백업 디렉터리로 이동되지 않습니다. 아래에서 제가 사용한 스크립트를 찾아보세요.
참고: .gz 형식으로 압축된 최근에 회전된 파일만 백업 폴더로 이동되지 않으며 .gz 형식으로 보관하는 다른 zip 파일과 마찬가지로 이동됩니다.
스크립트 -
compress
/data_gpfs/engageone/active-drive/E-Archive/SystemData/logrotation_test/test.log {
daily
copytruncate
create 775 root wsdepl
dateext
dateformat %Y-%m-%d
rotate 30
maxage 30
missingok
#notifempty
sharedscripts
postrotate
mv /data_gpfs/engageone/active-drive/E-Archive/SystemData/logrotation_test/*.gz /data_gpfs/engageone/active-drive/E-Archive/SystemData/logrotation_test/backup
endscript
}
답변1
~에서logrotate(8)
:
그것은 자동을 허용합니다회전, 압축, 제거 및 메일 발송로그 파일. [...] postrotate와 endscript 사이의 줄(둘 다 줄에 단독으로 나타나야 함)로그 파일 회전 후 실행됩니다.
즉, postrotate
회전 후에 발생하지만 압축 전에 발생합니다. 호출할 때 mv
로그의 gzip 아카이브가 아직 존재하지 않습니다.
logrotate
postcompress
후크는 제공되지 않지만 다음을 수행할 수 있습니다.
- 대신 후크를 사용해 주세요
lastaction
. - 스크립트/코드에서 압축을 처리합니다
postrotate
. 파일을 압축하는 쉘 스크립트를 작성한 다음 파일을 이동하고 섹션postrotate
에서 호출하십시오 .compress
이 경우 이 옵션을 비활성화하는 것을 잊지 마십시오. compresscmd
uncompresscmd
필요할 때 파일 찾기 및 이동을 담당하는 사용자 정의 압축/압축 풀기 스크립트를 사용하여 유사한 작업을 사용하고 수행합니다 .- CRON 작업과 독립적으로 이동
logrotate
하거나postrotate
at
(압축 시간을 실제로 예측할 수 없기 때문에 이는 매우 깨끗하지 않습니다).
자세한 내용은 다음을 확인하세요.여기. logrotate
처음에는 워크플로를 이해하기가 약간 어려울 수 있지만 필요한 단계를 익히면 모든 것이 원활하게 실행될 것입니다. ;) 다음 SE 질문에도 관심이 있을 수 있습니다.