logrotate
특정 디렉터리에서 7일보다 오래된 모든 로그 파일을 찾아 보관하도록 구성하려고 합니다 . 아카이브 파일을 삭제해야 합니다.
내 구조는 다음과 같습니다.
/var/log/myapp/subfolder1/*.log (hundreds of logs)
/var/log/myapp/subfolder2/*.log (hundreds of logs)
/var/log/myapp/subfolder3/*.log (hundreds of logs)
/var/log/myapp/subfolder4/*.log (hundreds of logs)
에 구성 파일을 생성해야 한다는 것을 알고 있지만 /etc/logrotate.d/
각 디렉터리에서 7일보다 오래된 로그 파일의 보관을 지정하고 보관된 파일을 삭제하려면 어떻게 해야 합니까?
답변1
#While waiting for a real answer, you may wish to play w/ the following
#following alternative outline of a solution not using "logrotate"
#Needs sanity checks, failure recovery, et cetera
find $myLOGHOME -type f -mtime -7 | tee $myARCHIVE_FILES
#After archiving & renaming old files, $mySTREAM_ARCHIVER moves
#the originals to a holding directory, where they will be maintained
#for some time before eventually being deleted when they are too old
#Holding directory files remain there
$mySTREAM_ARCHIVER $myOPTIONS < $myARCHIVE_FILES
#Implementation, testing and cleanup are left as an exercise for the reader