
우리 회사에는 사용자가 파일을 저장하는 일련의 Linux 서버가 있습니다. #####,###,###의 일반적인 명명 체계를 따르는 파일은 고유한 필드와 관련된 번호를 갖습니다. 그들은 30일 후에 파일을 제거해야 하지만 그런 일이 일어나지 않고 있으며 사용자 커뮤니티가 성장함에 따라 일부 서버의 디스크 공간이 부족해지고 있습니다.
Linux 서버의 모든 파티션에서 위의 명명 체계를 사용하여 30일보다 오래된 파일을 검색하여 새 폴더로 이동하는 프로세스를 스크립팅할 수 있는 방법을 아는 사람이 있습니까?
일부 사용자는 파일을 여러 수준 깊이로 저장하고 파일을 찾는 데 많은 시간을 소비하기 시작하고 삭제할 수 있는지 여부를 결정하는 데만 시간을 소비하기 때문에 정리가 훨씬 쉬워집니다.
어떤 도움이라도 대단히 감사하겠습니다!
답변1
사용명령 찾기원하는 파일을 얻으려면. -mtime
옵션을 사용하여 파일의 수명을 설정할 수 있습니다 . 정규식을 사용하여 \d{5},\d{3},\d{3}$
파일 이름을 일치시킬 수 있습니다. 그런 다음 각 파일을 원하는 위치로 이동하세요.
이와 같이:
find / -mtime +30 -regex '\d{5},\d{3},\d{3}$' -exec mv {} /path/to/destination/folder \;
- 위의 내용은 꽤 무서운 루트에서 이것을 풀어줍니다. 필요한 디렉토리에만 포함하는 것을 고려하십시오.
- 해당 패턴은 그다지 고유하지 않으므로 주의해서 다시 사용하세요.
- 정규식을 미세 조정하세요여기