6 개월보다 오래된 파일을 삭제하려면 Scrip


12

한 달에 한 번 크론 작업을 설정하여 스크립트를 시작합니다.

스크립트는 파일이 너무 커질 때마다 매달 파일을 회전시키고 이전 파일 이름을 바꾸는 것입니다. 6 개월 이상 지난 파일을 삭제하고 싶었습니다.

한 달에 한 번이 스크립트를 실행하려고합니다. 오래된 것을 삭제할 수 있습니까?

명확하지 않은 경우 알려주십시오.


11
왜 사용하지 logrotate않습니까?
Michael Hampton

@scottmarriott 네, Hampton의 말입니다. 당신이 묘사 한 기능은 기본적으로 logrotate가하는 것과 똑같습니다.
Bratchley

그래 난 방금 logrotate가 건배를 의미하는 것을 잘 보았습니다
scott marriott

@MichaelHampton 당신은 그 대답을해야합니다.
evilsoup

답변:


20

이것으로 시작할 수 있습니다 :

find /your/file -mtime +182 -exec rm {} +

+182일 수량은 어디에 있습니까 ?


그것에 대해 감사합니다, 그것과 함께 플레이 할 수 있지만, 아마도 logrotate 최선의 옵션이 될 수 있습니다
scott marriott

@jordanm 왜 이것이 작동하지 않을 수 있습니까?
scott marriott

ApplicationServer / logs / TestClone01 $ ls -ltr 총계 3320 1048458 12 월 09:46 SystemOut_12.12.13_09.46.29.log 5 월 28 일 12:44 SystemOut.log.2013-05-28-12 : 44 : 52 71 5 월 30 일 : 57 SystemOut.log.2013-05-30-08 : 57 : 22 48432 30 May 09:16 SystemOut.log no_env) : / usr / websphere6 / was61TE_LV2 / ApplicationServer / logs / TestClone01 $ find SystemOut.log -mtime +1- exec rm {} + 찾기 : 0652-083 실행할 수 없음 :: 경로 이름의 파일 또는 디렉토리가 존재하지 않습니다.
scott marriott

나는 1 일 번호를 변경
스캇 메리어트에게

의 @scottmarriott 모든 버전 find지원 +/-을위한 -mtime. 어떤 OS 및 버전 find이 있습니까?
jordanm

2

당신은 사용할 수 있습니다 logrotate. 대부분의 Linux 시스템에서 이미 사용 가능하며 많은 패키지에 이미 로그 로테이션 스크립트가 사전 구성되어 있거나 스크립트를 조정하거나 직접 작성할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.