Linux 에서 대량의 파일 / 폴 더 를 빠르게 삭제 하 는 방법

2478 단어 linux
장면 설명
 만약 당신 이 Liux 에서 대량의 파일 을 삭제 하려 고 한다 면, 예 를 들 어 100 만, 1000 만, 예 를 들 어 / var / spool / clientmque / mail 메 일, 예 를 들 어 / usr / local / nginx / proxytemp 의 nginx 캐 시 등 은 rm - rf * 가 잘 안 될 수도 있 습 니 다.
해결 방안
rsync 는 삭제 와 관련 된 인 자 를 제공 합 니 다.
rsync --help | grep delete
   --del                   an alias for --delete-during
     --delete                delete extraneous files from destination dirs
     --delete-before         receiver deletes before transfer, not during
     --delete-during         receiver deletes during the transfer
     --delete-delay          find deletions during, delete after
     --delete-after          receiver deletes after transfer, not during
     --delete-excluded       also delete excluded files from destination dirs
     --delete-missing-args   delete missing source args from destination
     --ignore-errors         delete even if there are I/O errors
     --max-delete=NUM        don't delete more than NUM files

그 중 -- delete - before 수신 자 는 전송 전에 삭제 작업 을 합 니 다.
디 렉 터 리 나 파일 을 비 우 는 데 사용 할 수 있 습 니 다. 다음 과 같 습 니 다.
1. 먼저 빈 디 렉 터 리 만 들 기 mkdir /data/blank
2. rsync 로 대상 디 렉 터 리 삭제 rsync --delete-before -d /data/blank/ /var/spool/clientmqueue/
이렇게 하면 목표 디 렉 터 리 가 금방 비 워 집 니 다.
또 만약 당신 이 삭제 해 야 할 아주 큰 파일 이 있다 면, 예 를 들 어 nohup. out 과 같은 실시 간 으로 업 데 이 트 된 파일 은 걸핏하면 몇 십 개의 G 에서 백 G 가 넘 는 것 입 니 다.
rsync 로 큰 파일 을 비우 고 효율 도 높 습 니 다.
1. 빈 파일 만 들 기  touch /data/blank.txt
2. rsync 로 파일 비우 기 rsync -a --delete-before -progress –stats /root/blank.txt /root/nohup.out
building file list …  1 file to consider  blank.txt  0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
Number of files: 1  Number of files transferred: 1  Total file size: 0 bytes  Total transferred file size: 0 bytes  Literal data: 0 bytes  Matched data: 0 bytes  File list size: 27  File list generation time: 0.006 seconds  File list transfer time: 0.000 seconds  Total bytes sent: 73  Total bytes received: 31
sent 73 bytes received 31 bytes 208.00 bytes/sec  total size is 0 speedup is 0.00
tips: 
SRC 와 DEST 파일 의 성질 이 일치 하지 않 을 때 오류 가 발생 합 니 다.  SRC 와 DEST 성질 이 모두 파일 [f] 일 때 파일 내용 을 삭제 하 는 것 이 아니 라 삭제 하 는 것 을 의미 합 니 다.  SRC 와 DEST 가 모두 디 렉 터 리 [d] 일 때 이 디 렉 터 리 에 있 는 모든 파일 을 삭제 하여 빈 디 렉 터 리 로 만 든 다 는 뜻 입 니 다.  가장 중요 한 것 은, 그것 의 처리 속도 가 상당히 빠 르 고, 몇 개의 G 파일 을 처리 하 는 것 이 바로 초 단위 의 일이 다.  가장 핵심 적 인 내용 은 rsync 가 실제로 사용 하 는 것 은 교체 원리 이다.

좋은 웹페이지 즐겨찾기