언제든지 폴더가 500k 미만이어야합니다. 이러한 폴더는 동적으로 생성되며 그 안에있는 파일 (이미지)이 일부 스크립트에 의해 삭제되면 폴더 자체도 삭제해야합니다. 버그로 인해 빈 폴더가 삭제되지 않았으며 이제는 수백만 개의 빈 폴더가 생겼습니다.
그래서 현재 파일에 약 500k 개의 폴더가 있으며 그 외에도 수백만 개의 빈 폴더가 있습니다.
거기에 너무 많은 dirs가 있기 때문에 간단한 ls | wc -l은 몇 시간이 걸리므로 정확한 숫자조차 찾을 수 없습니다.
find 명령을 실행할 수 있습니다 : find. -최대 깊이 1-형 d-빈; 그런 다음 rmdir로 파이프하십시오. 그러나 다시 찾기에는 시간이 걸립니다 (또는 오퍼를 찾는 -delete 옵션 사용).
그런 다음 rmdir --ignore-fail-on-non-empty / path / to / huge / folder / *; 그러나 그 효율성에 대해서는 확신하지 못합니다. 기본적으로이 명령은 내 폴더의 빈 디렉토리 만 삭제하므로 파일이있는 디렉토리는 안전하고 삭제되지 않아야합니다. 그런 다음 '---- 무시 실패시 무시'옵션은 실제로 비어 있지 않은 디어에 대한 수십만 또는 경고를 무시합니다.
로컬에 약 100k 개의 빈 폴더를 빠르게 만든 다음 그중 일부 파일을 '만져'rmrm 명령을 사용했습니다. 100k 개의 빈 폴더를 만드는 데 2 분이 걸렸지 만 빈 폴더를 삭제하는 데 2 초 (!)가 걸렸습니다. 내 희망은 높지만 약 1 천만 개의 폴더를 처리하는 방법을 잘 모르겠습니다 ...
누구든지 아이디어 / 조언이 있거나 전에 이와 같은 문제에 직면 한 경우 내 문제에 접근하는 가장 좋은 방법을 알려주십시오. 또는 어떤 방법이 더 나은지 말해보십시오 : find 또는 rmdir ...
편집 : 전에 폴더 구조를 언급하는 것을 잊었습니다. 파일이 들어있는 기본 폴더 내의 폴더에는 더 이상 폴더가 없습니다. 다른 폴더가 비어 있습니다. 따라서 수백만 개의 폴더 캠이 모두 비어 있거나 파일이 있지만 더 이상 폴더가 없습니다. 기본적으로 트리 구조에는 하나의 폴더 레벨 만 있습니다.