Linux rsyncコマンド

1804 ワード

linuxシステムで数万または数十万または数百万のファイルを削除する場合、rm-rf*を使用すると、長い間待つ必要があるため、あまり使いにくいです.この場合、linuxシステムコマンドrsyncを使用して巧みに処理することができます.rsyncは実際に置換原理を用いており,数十万個のファイルを処理しても秒削除である.
    1.rsyncインストール、デフォルトでインストールされているシステムもあります
#ubuntu  : 
sudo apt-get install rsync
#fedora   : 
sudo yum install rsync

2.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 transfer (default)
     --delete-delay              find deletions during, delete after
     --delete-after              receiver deletes after transfer, not during
     --delete-excluded           also delete excluded files from destination dirs
     --ignore-errors             delete even if there are I/O errors
     --max-delete=NUM            don't delete more than NUM files
#  --delete-before              

3.例
#       ,  : 
#1、         
mkdir /data/blank 
 
#2、 rsync       
rsync --delete-before -d -a -H -v --progress --stats /data/blank/ /var/edatacache/
#  
rsync --delete-before -d /data/blank/ /var/edatacache/

#  /var/edatacache          。

    :
–delete-before                   
–progress                    
-a                     ,           ,         
-H                         
-v                       
–stats                        
-d                 transfer directories without recursing

#3、          
#     /root/      G    G   data,        
# 、       
    touch /root/empty
# 、 rsync  /root/data  
    rsync --delete-before -d --progess --stats /root/empty /root/data