Development/OS

일정시간지난 파일 조회하기

비완 2016. 3. 22. 16:52
반응형

서버운영중 용량문제로 오래된 파일을 지워야 할 필요가 생겼다.

파일이나 디렉토리가 몇안되면 일일이 찾아지우겠지만,

그 수가 많거나 계속해서 수행해줘야 할 경우 번거로우므로 방법을 찾아보았다.

find /path/..../files/* -mtime +1 -exec rm {} \;

이와 같이 수행하면 수정한지 하루가 지난 파일과 디렉토리를 찾아서 파일만 지워준다. (디렉토리는 rm 옵션때문에 지워지지는 않는다)

디렉토리까지 포함하여 지우려면 다음과 같이 하면 되지만...

검색조건에 해당하지 않는 파일이 해당 디렉토리에 안에 있는 경우에도 지워버리지 조심해야 할 듯 하다

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

생성날짜 기준으면 mtime 을 ctime 으로 바꿔주면 된다.


파일만 찾아지우려면 다음과 같이 한다.

find /path/..../files/* -mtime +1 -type f -exec rm {} \;


반응형