分享我寫的win版rsync腳本

分享我寫的win版rsync腳本。它和linux版互聯(lián)工作,來實現(xiàn)兩臺機子同步文件。
前言:
對于同步文件,ansible有win <=> win模塊,基于robocopy。有l(wèi)inux <=> linux之間的同步模塊,基于rsync。卻沒有win <=> inux之間的文件同步。
我寫了2個腳本,封裝了cwrsync客戶端,解決了win <=> linux之間的文件同步問題。簡單來講,封裝好了win版的rsync。
k_rsync_winfromlinux.ps1
k_rsync_wintolinux.ps1
注意:rsync是【文件塊】級別的同步軟件。
腳本下載:
https://gitee.com/chuanjiao10/kasini3000
問:為什么要用你這個腳本?
問:你的腳本做了哪些事情?
答:簡單來講,在cwrsync的基礎(chǔ)上,封裝好了win版的rsync。
具體來講:
cygwin版的rsync,默認(rèn)找不到home目錄,找不到ssh-keyfile,找不到這個文件:c:\Users\你的用戶名.ssh\id_rsa
腳本轉(zhuǎn)換了win,linux路徑。
免添加know_host
封裝了常用參數(shù)。添加了debugging參數(shù)。使用debugging時,可以輸出rsync命令的所有參數(shù),還可以已暫停。
系統(tǒng)需求:
本地:win+powershell 5.1 win+powershell 7,及以上
遠(yuǎn)端:任意linux發(fā)型版本,加最新版的rsync。
用法:把win主控機的,'e:\temp7'目錄,含子目錄。同步到linux被控機的'/tmp/',目錄內(nèi)。
.\k_rsync_wintolinux.ps1 -Path 'e:\temp7' -Destination '/tmp/' -被控機ip地址 '192.168.1.2' -Recurse -Delete -debugging
后面三個參數(shù)可選。
用法:把linux被控機的,'/tmp/temp8'目錄,含子目錄。同步到win主控機的,'e:\temp7'目錄內(nèi)。
.\k_rsync_winfromlinux.ps1 -Path '/tmp/temp8' -Destination 'e:\temp7\' -被控機ip地址 '192.168.1.2' -Recurse -Delete -debugging
后面三個參數(shù)可選。
對于英文用戶,可以使用【-ip】代替【-被控機ip地址】,作用相同。
結(jié)論:
這個腳本其實還可以再次完善,増補常用功能。
win <=> linux之間的文件同步,就用我封裝的免費腳本!
卡死你3000所使用的文件同步,不光有rsync。還有好幾種很不錯的開源,免費工具。我下次給你推薦。
(文章來自原創(chuàng),轉(zhuǎn)載請聯(lián)系授權(quán) )
![]()
