질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

find 명령어를 이용해 60일이 지난 log파일 자동 삭제하게하려면?

작성자 정보

  • motoblk 작성
  • 작성일

컨텐츠 정보

본문

리눅스 초보입니다.

사수께서 과제를 내주셨는데

find 명령어를 이용해 계속해서 로그가 쌓이는 특정 디렉토리에서 (*.log라 가정)

60일이 지난 로그파일을 계속해서 자동으로 삭제 하게 하는 명령어 있나요?

예를 들어 root >>> /usr/local/log/ 디렉토리에 계속 로그가 쌓일 경우

자동적으로(매일)  60일이 지난 로그 파일을 삭제하게 하는 ..명령있을까요?

-ctime을 이용하면 될것 같은데...(이것도 자세히좀..mtime을 써야하는지..?)

# find /usr/local/log/*.log -ctime +60 -exec rm -rf {} ;

이렇게 명령어 입력 하는건가요? 아님 특정 파일을 편집해서 그 안에 뭔가를 등록해야하나요?

관련자료

댓글 3

쭈운님의 댓글

  • 쭈운
  • 작성일
위의 find문을 사용하여 매일 특정시간에 로그를 삭제하시려면 cron에 등록하여 매일 실행을 시키면 되겠지만
log파일은 새로운 로그가 생기면 계속 시간도 업데이트가 되기 때문에 업데이트가 전혀 이루어지지 않는 log파일에만
적용이 되겠습니다.
계속 쌓이는 log라면 logrotate를 이용하여 삭제하시면 되겠습니다.

황정호님의 댓글

  • 황정호
  • 작성일
cat > rm_log.sh
 find /usr/local/log/*.log -mtime -60 -exec -rm -rf {} \; <<===리눅스에서 문법이 정확한지는 ;;
chmod 755 rm_log.sh
crontab -e
0 0 * * * rm_log.sh

포도나무님의 댓글

  • 포도나무
  • 작성일
기술적인 답변은 아닙니다만 부럽습니다. 사수가 있으시니 배울수 있겠네요. 전 현업에서 사수 없이 혼자 배우면서 일하고 있습니다. ㅠ.ㅠ

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  85 명