Linux命令rsync使用總結
阿新 • • 發佈:2019-01-29
href roo rsync erl img des 默認 from clu
詳細用法見:https://www.cnblogs.com/oboth-zl/articles/10334754.html
rsync命令簡介
主要用於數據同步、備份和鏡像,除了本地使用之外,也可以通過rsync或者ssh協議進行網絡數據同步。
使用總結
常用選項解釋
--files-from
指定需要同步的文件。
有如下目錄結構:
若我們只想導入1和2兩個目錄及其裏面的內容,我們可以執行
rsync -av rsync/1 rsync/2 rsync-0
可以看到結果符合我們預期。
如用--files-from呢?
rsync -av --files-from=test.txt rsync rsync-1
test.txt內容為
1
2
1.txt
執行後的目錄結構
結果和我們預期的不一樣,只有指定的文件和目錄,而沒有目錄下的其他內容。
所以,--files-from選項只會同步指定的文件和目錄,而不會同步目錄下的其他內容。
--exclude-from/--include-from
兩個選項含義相同,互相可作替換。用來指定包含或者不包含的文件。
基本格式:
+/include file
-/exclude file
/ 在名字前表根目錄
/ 在後表目
默認包含所有文件和目錄,所以 + 單獨使用無意義,常和 - 搭配使用。
比如
cat > rule.txt << EOF+ Desktop/ + Desktop/* + .bashrc + .cshrc + /* - * EOF
rsync -av --exclude-from=rule.txt root rsync_dir
此規則表示僅同步Desktop及其下級目錄和文件,以及.bashrc、.cshrc。並不會同步Desktop/*/再下一級目錄,這裏需要註意。
而當規則換成這樣
cat > rule.txt << EOF
+ /root/Desktop/
+ /root/Desktop/*
+ /root/.bashrc
+ /root/.cshrc
+ /*
- *
EOF
結果和上面一樣。
Linux命令rsync使用總結