find 를 이용해서 로그를 관리하는 법

파일수정이하루이상지난거삭제하기! 로그제거시편하게 사용 할 수 있음

 find /log/ -name “*.log” -mtime +0 -exec rm -f {} \;

 

특정날짜 이후에 생성된 파일들만 골라서 압축하기!!? [꿀팁?!]

touch -t 를 이용해 temp 와 같은 특정파일에 timestamp를 이용하여 파일 생성한다.
cd /log
touch -t 201202230500 ./temp

그 후 해당 파일보다 더 new(이후 생성된) 파일을 찾아서 압축!

find /log/ -newer /log/temp -exec tar -zcvf log.tar {}\;

 


수정 날짜가 6일 이상 경과된 파일을 .svn 폴더를 제외하고 삭제하는 법!
find /log/ -name “*” -mtime +6 | grep -v “.svn” | xargs
rm -f

 

 

크론잡에등록.;

 

00 12 * * * find /log -type f -name “*log*” -mtime +6 -exec rm -f {} \;

 

00 12 * * * find /log/ -name “*” -mtime +6 | grep -v “.svn” | xargs rm -f

# 매일 12정각에 .svn 제외한나머지로그폴더하위모든파일을삭제처리.

 

중요 TIP : 위와같이 root shell 에서실행시키는경우 find 명령어로검색된 argument 없는경우, 파일이검색되지않는경우는실행된 shell 위치인 root 데이터를 rm -f 한다. , 로그검색이안되는경우루트 bash_profile 등을삭제함!!

글쓴이