rsync (同步數據,支持增量備份)
使用方法:
rsync -av 192.168.31.182:/tmp/1.txt /tmp/ (將服務器192.168.31.182中tmp文件夾下的1.txt文件拷貝到本機的tmp目錄下)
rsync -av /tmp/1.txt 192.168.31.182:/tmp/ (將本機的tmp目錄下的1.txt文件拷貝到服務器192.168.31.182中tmp文件夾下)
rsync -av 192.168.31.182::longfei/123/1.txt /tmp/ (demo從服務器複製到本地)
rsync -av /tmp/1.txt 192.168.31.182::longfei/123/ (demo從本地複製到服務器)
選項:
-a == -rlptgoD
-v == 可視化
--delete == a-->b刪除同步過程中a沒有b有的文件
--exclude=PATTERN == 同步過程中不同步某些文件夾
-P == 能夠查看同步進度,類似於-v
-u == a-->b避免覆蓋b機器上已經修改過的文件內容
-avL (可以將有軟鏈接的文件直接同步拷貝)
rsync -av 111/ /tmp/123/ (將111目錄下的文件拷貝到/tmp/123/下)
rsync -avL 111/ /tmp/123/ (將有軟鏈接的文件的鏈接的文件直接覆蓋拷貝到/tmp/123/下對應的文件)
rsync -avL --delete 111/ /tmp/123/ (將有軟鏈接的文件的鏈接的文件直接覆蓋拷貝到/tmp/123/下對應的文件,且將原文件夾內刪除的文件,在目標文件夾內也刪除)
rsync -avLu 111/ /tmp/123/ (將有軟鏈接的文件的鏈接的文件直接覆蓋拷貝到/tmp/123/下對應的文件,且不會將目標文件夾內已經修改的文件覆蓋)
rsync -avLu --exclude="*.txt" 111/ /tmp/123/ (將有軟鏈接的文件的鏈接的文件直接覆蓋拷貝到/tmp/123/下對應的文件,且不會將目標文件夾內已經修改的文件覆蓋,但是不拷貝原文件夾內的所有.txt結尾的文件)
rsync -avLuPz --exclude="*.txt" 111/ /tmp/123/ (將有軟鏈接的文件的鏈接的文件直接覆蓋拷貝到/tmp/123/下對應的文件,且不會將目標文件夾內已經修改的文件覆蓋,但是不拷貝原文件夾內的所有.txt結尾的文件,並顯示當前拷貝進度,並將拷貝內容壓縮後傳輸)
rsync -avPz -e "ssh -p 10022" 192.168.31.182/tmp/111/ ./111/ (指定端口進行拷貝傳輸)
rsync -avL --delete --exclude [email protected]::mokuaiming/test ./ --password-file=/home/admin/rsyncd.passwd (rsync參考詞條,較全)
rsync後臺服務方式
配置文件:
/etc/rsyncd.conf (配置文件,可自定義,現在爲自動加載)
配置文件內容:
prot=8730
log file=/var/log/rsync.log
pid file=/var/run/rsync.pid
[mokuaiming]
path=/tmp/rsync #目錄要真實存在
use chroot=yes #是否把登錄用戶限定在當前目錄下,對軟鏈接有限制,如果有軟鏈接文件,需要改爲no
max connections=4
read only=no #登錄到該目錄下,且限定目錄文件是否只讀,如果需要將服務器文件下載下來,需要改爲no
list=yes #能否使用rsync --prot 8730 192.168.31.182 命令把模塊名字列出
uid=root
gid=root
auth users=sponge
secret file=/etc/rs.passwd #密碼權限需要可讀
hosts allow=192.168.31.182 192.168.31.18 #允許哪些ip能夠連接
[mokuaiming2] #不需要用戶認證都可以拷貝,且任何機器都能連接
path=/tmp/rsync123 #目錄要真實存在
use chroot=yes #是否把登錄用戶限定在目錄下
max connections=4
read only=no #登錄到該目錄下,且只讀
list=yes #是否把模塊名字列出
uid=root
gid=root
rsync --demon (啓動rsync的demon進程,更改配置文件後不需要重啓進程,直接生效)
rsync -avPz --prot 8730 192.168.31.182::mokuaiming/tmp/rsync/1.txt ./ (同步文件格式)
rsync -avPz --prot 8730 [email protected]::mokuaiming2/tmp/rsync123/1.txt ./ (同步文件格式)
rsync -avPz --prot 8730 --password-file=/tmp/rsync.passwd.txt [email protected]::mokuaiming2/tmp/rsync123/1.txt ./ (不需要輸入密碼,直接能夠進行傳輸,但是密碼文件中需要寫入密碼,且一個文件只能存一個密碼)
diff (對比兩個文件的差異)
使用方法:
diff /tmp/1.txt /etc/init.d (對比兩個文件異同)