張慧的博客

          張慧的博客

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            45 Posts :: 0 Stories :: 24 Comments :: 0 Trackbacks
          假如你要在linux下刪除大量文件,比如100萬、1000萬,像/var/spool/clientmqueue/的mail郵件, 

          像/usr/local/nginx/proxy_temp的nginx緩存等,那么rm -rf *可能就不好使了。 
          rsync提供了一些跟刪除相關(guān)的參數(shù) 
          rsync --help | grep delete 
               --del                   an alias for --delete-during 
               --delete                delete files that don't exist on the sending side 
               --delete-before         receiver deletes before transfer (default) 
               --delete-during         receiver deletes during transfer, not before 
               --delete-after          receiver deletes after transfer, not before 
               --delete-excluded       also delete excluded files on the receiving side 
               --ignore-errors         delete even if there are I/O errors 
               --max-delete=NUM        don't delete more than NUM files 

          其中--delete-before    接收者在傳輸之前進(jìn)行刪除操作 
          可以用來清空目錄或文件,如下: 
          1、先建立一個(gè)空目錄 
          mkdir /data/blank 
          2、用rsync刪除目標(biāo)目錄 
          rsync --delete-before -d /data/blank/ /var/spool/clientmqueue/ 
          這樣目標(biāo)目錄很快就被清空了 

          又假如你有一些特別大的文件要?jiǎng)h除,比如nohup.out這樣的實(shí)時(shí)更新的文件,動(dòng)輒都是幾十個(gè)G上百G的,也可 

          以用rsync來清空大文件,而且效率比較高 
          1、創(chuàng)建空文件 
          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: 
          當(dāng)SRC和DEST文件性質(zhì)不一致時(shí)將會(huì)報(bào)錯(cuò) 
          當(dāng)SRC和DEST性質(zhì)都為文件【f】時(shí),意思是清空文件內(nèi)容而不是刪除文件 
          當(dāng)SRC和DEST性質(zhì)都為目錄【d】時(shí),意思是刪除該目錄下的所有文件,使其變?yōu)榭漳夸?nbsp;
          最重要的是,它的處理速度相當(dāng)快,處理幾個(gè)G的文件也就是秒級(jí)的事 
          最核心的內(nèi)容是:rsync實(shí)際上用的就是替換原理 
          posted on 2012-07-12 22:26 張慧 閱讀(7585) 評(píng)論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 嘉荫县| 牙克石市| 昌都县| 逊克县| 融水| 莫力| 榆树市| 崇州市| 红原县| 香河县| 睢宁县| 凤阳县| 南华县| 遵义县| 商南县| 榆林市| 新宾| 花莲市| 句容市| 七台河市| 灯塔市| 普格县| 漳浦县| 安国市| 荔浦县| 丹江口市| 白山市| 白银市| 丽江市| 大石桥市| 民丰县| 桦川县| 博白县| 东宁县| 浏阳市| 壤塘县| 巴楚县| 长宁区| 松阳县| 光山县| 增城市|