특정디렉토리에 존재하는 파일중 오늘날짜 이전 파일만 삭제??

comdemo의 이미지

특정한 디렉토리내에 존재하는 파일중 오늘날짜 이전 파일들만 삭제하려면 어떻게 해야하나요??

쉘스크립트로 파일의 생성날짜를 구해서 비교해서 하나씩 삭제해야하나요??

아니면 명령어 조합으로 가능할런지요??

^^ 작성해보신분 계시면 힌트좀..

nthroot의 이미지

find /path -mtime +1 -exec rm -rf {} \;

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

Prentice의 이미지

man find를 해보시면 힌트가 나옵니다. ^_^;

find /path/ -mtime +1 이런 식으로 하시면 업데이트 날짜가 현재시간 기준으로 24시간보다 오래된 파일을 골라내줍니다.

find /path/ -daystart -mtime +1 이런 식으로 하시면 오늘 0시 시작 기준으로 24시간보다 오래된 파일을 골라내줍니다.

find /path/ 어쩌고저쩌고 -exec rm {} ';' 이런식으로 하시면 결과 파일을 삭제하실 수 있습니다. 셸스크립트를 짜실 때는 {}나 ;를 어떻게 인용부호로 감쌀 지를 조심하셔야겠고요, 그냥 셸프롬트에서 실행하실 때는 -exec rm {} \; 이런 식으로 해도 됩니다.