10.29/10.30 rsync經常使用選項

Linux文件同步工具-rsync

  • rsync經常使用選項
    • -a 包含-rtplgoD參數選項
    • -r 同步目錄時要加上,相似cp時的-r選項
    • -v 同步時顯示一些信息,讓咱們知道同步的過程
    • -l 保留軟鏈接
      • 如果拷貝的原目錄裏面有一個軟連接文件,那這個軟連接文件指向到了另一個目錄下
      • 在加上-l,它會把軟連接文件自己拷貝到目標目錄裏面去
    • -L 加上該選項後,同步軟連接時會把源文件給同步
    • -p 保持文件的權限屬性
    • -o 保持文件的屬主
    • -g 保持文件的屬組
    • -D 保持設備文件信息
      • /dev/sdb1 這樣的設備文件有它的特殊性,若是不加-D 可能拷貝過去就是一個很是普通的文件,不能當設備來用
    • -t 保持文件的時間屬性
    • --delete 刪除DEST中SRC沒有的文件
    • --exclude 過濾指定文件,如--exclude 「logs」會把文件名包含logs的文件或者目錄過濾掉,不一樣步
    • -P 顯示同步過程,好比速率,比-v更加詳細
    • -u 加上該選項後,若是DEST中的文件比SRC新,則不一樣步
      • update
    • -z 傳輸時壓縮

rsync命令,同步目錄

  • rsync -av /root/111 /tmp/111_dest //同步一個目錄
    • 在同步目錄的時候,在目錄的最後面加一個斜槓/
[root@hf-01 ~]# ls 111
a.txt  haha  hanfeng
[root@hf-01 ~]# ls /tmp/
[root@hf-01 ~]# rsync -av /root/111/ /tmp/111_dest/    //同步一個目錄
sending incremental file list
created directory /tmp/111_dest
./
a.txt
haha/
hanfeng/

sent 256312 bytes  received 42 bytes  512708.00 bytes/sec
total size is 256144  speedup is 1.00
[root@hf-01 ~]#
  • 在加入參數 -L 後,會把參數 -l 的含義給覆蓋掉
    • -L會把軟連接所指向的源文件給拷貝過去
[root@hf-01 ~]# rsync -avL /root/111/ /tmp/111_dest/
sending incremental file list

sent 88 bytes  received 14 bytes  204.00 bytes/sec
total size is 256144  speedup is 2511.22
[root@hf-01 ~]#

rsync命令,刪除目標中源文件中沒有的內容

  • rsync -avL --delete /root/111/ /tmp/111_dest/
    • --delete會把多餘的文件除去
[root@hf-01 ~]# ls 111/
a.txt  haha  hanfeng
[root@hf-01 ~]# ls /tmp/111_dest/
a.txt  haha  hanfeng
[root@hf-01 ~]# touch /tmp/111_dest/new.txt
[root@hf-01 ~]# rsync -avL --delete /root/111/ /tmp/111_dest/
sending incremental file list
./
deleting new.txt

sent 91 bytes  received 17 bytes  216.00 bytes/sec
total size is 256144  speedup is 2371.70
[root@hf-01 ~]# ls /tmp/111_dest/
a.txt  haha  hanfeng
[root@hf-01 ~]#

rsync命令,過濾全部txt文件

[root@hf-01 ~]# rsync -avL --exclude "*.txt" /root/111/ /tmp/111_dest/
sending incremental file list
./
2.txt.swp
4913
haha/
hanfeng/

sent 184 bytes  received 61 bytes  490.00 bytes/sec
total size is 0  speedup is 0.00
[root@hf-01 ~]#
  • 可屢次過濾文件
[root@hf-01 ~]# !rm
rm -rf /tmp/111_dest/*
[root@hf-01 ~]# rsync -avL --exclude "*.txt" --exclude="2*" /root/111/ /tmp/111_dest/
sending incremental file list
./
4913
haha/
hanfeng/

sent 131 bytes  received 42 bytes  346.00 bytes/sec
total size is 0  speedup is 0.00
[root@hf-01 ~]#
  • 在添加文件後,再次同步,會只同步裏面不相同的文件,而相同的文件則不會再次同步
[root@hf-01 ~]# cd 111
[root@hf-01 111]# touch 6.dest 123
[root@hf-01 111]# rsync -avL --exclude "*.txt" --exclude="2*" /root/111/ /tmp/111_dest/
sending incremental file list
./
123
6.dest

sent 187 bytes  received 55 bytes  484.00 bytes/sec
total size is 0  speedup is 0.00
[root@hf-01 111]#

rsync命令,參數-P

  • rsync -avP /root/111/ /tmp/111_dest/
    • 在傳輸過程當中,會告訴你傳輸了多少,傳輸的速度是多少
[root@hf-01 ~]# !rm
rm -rf /tmp/111_dest/*
[root@hf-01 ~]# rsync -avP /root/111/ /tmp/111_dest/
sending incremental file list
./
123
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=6/8)
2.txt.swp
           0 100%    0.00kB/s    0:00:00 (xfer#2, to-check=5/8)
4913
           0 100%    0.00kB/s    0:00:00 (xfer#3, to-check=4/8)
6.dest
           0 100%    0.00kB/s    0:00:00 (xfer#4, to-check=3/8)
a.txt
      256144 100%   53.26MB/s    0:00:00 (xfer#5, to-check=2/8)
haha/
hanfeng/

sent 256522 bytes  received 118 bytes  513280.00 bytes/sec
total size is 256144  speedup is 1.00
[root@hf-01 ~]#

rsync命令,參數-u

[root@hf-01 ~]# cd /tmp/111_dest/
[root@hf-01 111_dest]# ls
123  2.txt.swp  4913  6.dest  a.txt  haha  hanfeng
[root@hf-01 111_dest]# vim 4913
在4913中添加內容

[root@hf-01 111_dest]# rsync -avPu /root/111/ /tmp/111_dest/
sending incremental file list
./

sent 145 bytes  received 17 bytes  324.00 bytes/sec
total size is 256144  speedup is 1581.14
[root@hf-01 111_dest]# cat 4913
dsgsdfascs
dsafszcdrw
etfbcgrhc
cbcvbtyegvdgdh
gxdgdfhch
[root@hf-01 111_dest]# cat /root/111/4913
[root@hf-01 111_dest]#

rsync命令,參數-z

  • 在遠程傳輸不少文件的時候,加上-z 參數,能夠節省帶寬,增長速度的
[root@hf-01 111_dest]# rsync -avPz /root/111/ /tmp/111_dest/
sending incremental file list
4913
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=4/8)

sent 178 bytes  received 33 bytes  422.00 bytes/sec
total size is 256144  speedup is 1213.95
[root@hf-01 111_dest]#
相關文章
相關標籤/搜索