HP-UX
1752794 회원
5939 온라인
108789 솔루션
새 메시지

특정파일 일정사이즈 되면 자동삭제 어떻게 해야 하는지요?

 
강종삼
비정기 기여자

특정파일 일정사이즈 되면 자동삭제 어떻게 해야 하는지요?

특정 파일을 지정하여 그 파일이 지정하는 사이즈가 넘으면

자동으로 삭제되게 하는 기능을 설정(또는 작업)할려면

어떻게 해야 하는지요?

crontab에 등록해야한다는데 어떻게 해야 하는지 알고 싶습니다.



그리고

위와 같은 방법이 아닌 하루나 시간단위로 그 특정파일을 삭제한다고

하면 어떻게 해야 하는지 자세히 설명 부탁드립니다

감사합니다.

1 응답 1
이경환_2
조언자

특정파일 일정사이즈 되면 자동삭제 어떻게 해야 하는지요?

안녕하세요.



답변을 달아보겠습니다.



먼저 crontab을 이용한 작업 스케쥴을 등록시 root계정으로 접속을 하셔야 합니다.



root 계정으로 로그인 하신 다음,





==========================================================



특정파일 일정사이즈 되면 자동삭제 어떻게 해야 하는지요?

질문내용*: 특정 파일을 지정하여 그 파일이 지정하는 사이즈가 넘으면

자동으로 삭제되게 하는 기능을 설정(또는 작업)할려면

어떻게 해야 하는지요?

crontab에 등록해야한다는데 어떻게 해야 하는지 알고 싶습니다.





답변1.> ex)



조건에 만족하는 파일을 검색한 후, 삭제를 하기 위해서는 "find" command를 이용할 수 있습니다.



/tmp/test/에 있는 파일들을 위의 질문 조건에 맞게 검색하여 삭제할 경우,



-size 옵션 사용.





#find /tmp/test/ -size +000c -exec rm -rf {} \;





명령을 실행하시면 주어진 경로 안에 있는 file들 중 file size가 000 이상인 파일을 검색하여 자동으로 삭제 실행합니다.



"+000" ---> 조건에 지정할 파일의 사이즈



이 때 파일 사이즈를 지정해주시고 뒤에 "c"옵션을 붙여주시면 해당 사이즈는 byte단위로 인식이 됩니다.



하지만, "c"옵션 없이 사용하실 경우엔 블럭 단위로 인식하게 됩니다.





이 명령을 crontab에 job 스케쥴로 등록해 두시면 해당 시각(또는 날짜)에 시스템이 주기적으로 자동 실행하게 되는 것 입니다.



#crontab -e



스케쥴 편집 화면?!이 나옵니다.



이 곳에 해당 명령어를 작성해 주시고 수행할 시간을 지정해 주시면 됩니다.



스케쥴 등록 방법은 밑의 사이트를 참고하시면 쉽게 확인하실 수 있습니다.



http://pelican7.egloos.com/1628118







==========================================================



그리고

위와 같은 방법이 아닌 하루나 시간단위로 그 특정파일을 삭제한다고

하면 어떻게 해야 하는지 자세히 설명 부탁드립니다.





답변2.>



이 경우엔 find 명령에서 -size 옵션이 아닌 -atime 옵션을 주어서 사용하실 수 있습니다.



-atime 옵션은 해당 파일의 access time을 기준으로 경과된 시간에 따라 검색을 해서 결과를 보여줍니다.



사용 예는...





#find /tmp/test/ -atime +30 -exec rm -rf {} \;





명령을 실행하시면 주어진 경로 안에 있는 file들 중 파일에 access한 날짜가 30일 이상 경과(+30에 대한 조건)된 file만 검색하여 자동으로 삭제를 진행하게 됩니다.



==========================================================





충분한 답변이 되었는지 모르겠습니다.



작게나마 도움이 되시길 바랍니다.



수고하세요~