scp:同步數據,可以增量拷貝(相同的就不覆蓋)
scp -r a/ [root@]ip:/b:把a的目錄下的文件拷貝到b目錄下
scp -r /root/ 10.10.10.26:/homt/champly/a/:如果出現這個
則在對方機器上安裝scp:yum install-y openssh-clients:
然後再試一次命令:
結果:
遠程服務器:
本地服務器:
rsync:同步數據
rsync /目錄1 /目錄2:同步本地目錄
-a:歸檔模式,表示以遞歸方式傳輸文件,並保持所有屬性,等同於-rlptgoD, -a選項後面可以跟一個 --no-OPTION 這個表示關閉-rlptgoD中的某一個例如-a--no-l 等同於-rptgoD(必須要帶的,裏面帶有l,o,p,D,g)
-r:對子目錄以遞歸模式處理,主要是針對目錄來說的,如果單獨傳一個文件不需要加-r,但是傳輸的是目錄必須加-r選項
-v:可視,打印一些信息出來,比如速率,文件數量等
-l:保留軟鏈接(只是拷貝鏈接文件)
-L:向對待常規文件一樣處理軟鏈接,如果是SRC中有軟鏈接文件,則加上該選項後將會把軟鏈接指向的目標文件拷貝到DST(拷貝真實的文件)
-p:保持文件權限
-P:顯示速度
--bwlimit=數字:限制傳送速度
-o:保持文件屬主信息
-g:保持文件屬組信息
-D:保持設備文件信息
-t:保持文件時間信息
-z:壓縮之後再傳,節省寬帶
-u:防覆蓋(如果備份文件修改了,則跳過),在目標文件比源文件新的情況下不更新
--delete:刪除那些源文件中沒有備份文件中有的文件
--exclude=PATTERN:指定排除不需要傳輸的文件,等號後面跟文件名,可以是萬用字符模式(如*.txt)
eg:rsync -avL --exclude=“1.txt” --exclude=“2.txt” /root/champly/ /home/champly
支持通配符
rsync /目錄1 username@ip:/目錄2:把本地目錄同步到遠程
rsync username@ip:/目錄1 /目錄2:把遠程目錄同步到本地
如果ssh端口號變成了2200:
rsync -avPL -e “ssh -p 2200” ip:/目錄 /目錄
如果不用密碼登錄,可以使用密鑰
strace:可以追蹤進程(yum install )
rsync應用實例 - 後臺服務方式:
配置文件 /etc/rsyncd.conf,內容如下:
#port=873 #監聽端口默認爲873,也可以是別的端口
log file=/var/log/rsync.log #指定日誌
pid file=/var/run/rsyncd.pid #指定pid
#address=192.168.0.10 #可以定義綁定的ip
以上部分爲全局配置部分,以下爲模塊內的設置
[test] #爲模塊名,自定義
path=/root/rsync # 指定該模塊對應在哪個目錄下
use chroot=true #是否限定在該目錄下,默認爲true,當有軟連接時,需要改爲fasle
max connections=4 # 指定最大可以連接的客戶端數
read only=no #是否爲只讀
list=true #是否可以列出模塊名,爲了安全起見,一般是取消的
uid=root #以哪個用戶的身份來傳輸
gid=root #以哪個組的身份來傳輸
auth users=test #指定驗證用戶名,可以不設置
secrets file=/etc/rsyncd.passwd #指定密碼文件,如果設定驗證用戶,這一項必須設置
hosts allow=192.168.0.101 #設置可以允許訪問的主機,可以是網段
如果不加後面兩行,就不用輸入密碼
密碼文件/etc/rsyncd.passwd的內容格式爲:username:password,權限爲600
啓動服務的命令是:rsync –daemon
默認去使用/etc/rsyncd.conf這個配置文件,也可以指定配置文件 rsync --daemon --config=/etc/rsyncd2.conf
可使用的選項有: rsync –daemon --help
rsync ip::test:/目錄1 /目錄2:使用test模塊同步數據
rsync -av --password-file=filename /目錄 /目錄:這可以指定密碼文件,可以不用輸入
2015年4月22日
by:champly