Ubuntu18.04
服務(wù)端
修改/etc/default/rsync文件
#Ubuntu18.04默認(rèn)已安裝rsync篷朵,首先編輯/etc/default/rsync弓颈,使其可用
sudo sed -i 's/RSYNC_ENABLE=false/RSYNC_ENABLE=true/' /etc/default/rsync
#復(fù)制配置文件
sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc
修改/etc/rsyncd.conf的配置文件
#motd file=/etc/motd
#開啟日志功能
log file=/var/log/rsyncd
# for pid file, do not use /var/run/rsync.pid if
# you are going to run rsync out of the init.d script.
# The init.d script does its own pid file handling,
# so omit the "pid file" line completely in that case.
#進(jìn)程號
pid file=/var/run/rsyncd.pid
#指定rsync發(fā)送日志消息給syslog時(shí)的消息級別蝠猬,常見的消息級別是:uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, local2, local3,local4, local5, local6和local7予权。默認(rèn)值是daemon系忙。
syslog facility=daemon
#socket options=
# MODULE OPTIONS
[ftp]
#定義注釋說明字串
comment = ppa
#指定同步目錄的真實(shí)路徑
path = /home/pchuant/devppa
use chroot = no
#并發(fā)的連接數(shù)
max connections=10
#鎖文件名稱
lock file = /var/lock/rsyncd
#是否允許用戶上傳數(shù)據(jù),這里設(shè)置為只讀
read only = yes
#客戶端請求顯示模塊列表時(shí)兜蠕,模塊本身名稱是否顯示
list = yes
#數(shù)據(jù)同步所用用戶
uid = pchuant
#數(shù)據(jù)同步所用組名稱
gid = pchuant
#可以指定例外的目錄唐片,即將common目錄下的某個目錄設(shè)置為不同步數(shù)據(jù)
# exclude =
#
# exclude from =
# include =
# include from =
#允許連接服務(wù)器的用戶,可以使系統(tǒng)中不存在的用戶
auth users = tom
#保存密碼的文件柠掂,建議設(shè)置為600项滑,僅在auth users設(shè)置后有效
secrets file = /etc/rsyncd.secrets
strict modes = yes
#允許哪些主機(jī)可以同步數(shù)據(jù),可以是單個ip涯贞,也可以是網(wǎng)段枪狂,多個IP與網(wǎng)段之間使用空格分隔
hosts allow = 10.10.8.44
#設(shè)置拒絕所有(除了hosts allow定義的主機(jī)外)
hosts deny = *
# #在運(yùn)行delete操作時(shí)是否忽略I/O錯誤
ignore errors = yes
#忽略那些沒有訪問文件權(quán)限的用戶
ignore nonreadable = yes
#開啟Rsync數(shù)據(jù)傳輸日志功能
transfer logging = yes
#定義rsyncd.log日志的格式
# log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
timeout = 600
refuse options = checksum dry-run
#告訴rysnc那些文件在傳輸前不用壓縮,默認(rèn)已設(shè)定壓縮包不再進(jìn)行壓縮
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
日志格式選項(xiàng)列表:
%h: 遠(yuǎn)程主機(jī)名
%a: 遠(yuǎn)程IP地址
%l: 文件長度字符數(shù)
%p: 該次rsync會話的進(jìn)程id
%o: 操作類型:"send"或"recv"宋渔、”del.”
%f: 文件名
%P: 模塊路徑
%m: 模塊名
%t: 當(dāng)前時(shí)間
%u: 認(rèn)證的用戶名(匿名時(shí)是null)
%b: 實(shí)際傳輸?shù)淖止?jié)數(shù)
%c: 當(dāng)發(fā)送文件時(shí)州疾,該字段記錄該文件的校驗(yàn)碼
客戶端
使用rsync命令同步,將rsync.conf的ftp模塊定義的路徑下載至/home/pchuant/test
rsync -vzrtopg --progress tom@10.10.8.90::ftp /home/pchuant/test
-v:顯示詳細(xì)信息
-z:傳輸過程對數(shù)據(jù)壓縮
-r:遞歸
-t:保留修改時(shí)間屬性
-o:保留文件所有者屬性
-g:保留文件所屬組屬性
--progress:顯示數(shù)據(jù)傳輸?shù)倪M(jìn)度信息
- 查看模塊(list=true才可以查詢)
rsync --list-only tom@10.10.8.90::
- 客戶端創(chuàng)建rsync.pass文件皇拣,該文件只包含密碼严蓖,使用--password-file指定密碼文件薄嫡,省去輸入密碼的步驟
echo "123456" >> rsync.pass
rsync --password-file=rsync.pass --list-only tom@10.10.8.90::