rsync安裝配置yum -y install rsync配置rsyncrsync服務需要三個文件rsyncd.conf rsync服務的配置文件rsyncd.secrets rsync服務的用戶密碼保存文件 用戶必須為服務器上存在的用戶rsyncd.motd rsync服務的登陸提示信息為了密碼的安全 rsyncd.secrets的權限需要修改為600 chmod 0600 rsyncd.secrets這幾個文件默認不存在 需要自行創建 mkdir -p /etc/rsyncdcd /etc/rsyncdtouch rsyncd.conftouch rsyncd.secretstouch rsyncd.motd chmod 600 /etc/rsyncd/rsyncd.secrets #將rsyncd.secrets這個密碼文件的文件屬性設為root擁有, 且權限要設為600, 否則無法備份成功!設定rsyncd.confvi rsyncd.confpid file = /var/run/rsyncd.pidport = 873address = 192.168.1.2 #服務器ipuid = rootgid = rootuse chroot = yesread only = yes #主讀hosts allow= 192.168.1.3 192.168.1.4 #允許訪問的主機列表hosts deny=*max connections = 5#motd file = /etc/rsyncd.motdlog format = %t %a %m %f %bsyslog facility = local3timeout = 300[video] #要同步的組,名字隨便path = /home/web/video #同步的目錄list = no #禁止列出文件ignore errorsauth users = root #執行的用戶exclude = folder folder1 #排除的目錄secrets file = /etc/rsyncd/rsyncd.secrets #密碼文件,直接從文件讀取執行用戶的密碼,省去輸入密碼的交互,較多用于計劃任務保存退出啟動rsync服務器及防火墻的設置啟動rsync服務器相當簡單,有以下幾種方法A、--daemon參數方式,是讓rsync以服務器模式運行 #/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf #--config用于指定rsyncd.conf的位置,如果在/etc下可以不寫B、xinetd方式修改services加入如下內容# nano -w /etc/servicesrsync 873/tcp # rsync rsync 873/udp # rsync這一步一般可以不做,通常都有這兩行設定 /etc/xinetd.d/rsync, 簡單例子如下: # default: off # description: The rsync server is a good addition to am ftp server, as it / # allows crc checksumming etc. service rsync {disable = nosocket_type = streamwait = nouser = rootserver = /usr/bin/rsyncserver_args = --daemonlog_on_failure += USERID } 上述, 主要是要打開rsync這個daemon, 一旦有rsync client要連接時, xinetd會把它轉介給 rsyncd(port 873)。然后service xinetd restart, 使上述設定生效.rsync服務器和防火墻 linux 防火墻是用iptables,所以我們至少在服務器端要讓你所定義的rsync 服務器端口通過,客戶端上也應該讓通過。 #iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT #iptables -L 查看一下防火墻是不是打開了 873端口 通過rsync客戶端來同步數據 A、語法詳解 在配置完rsync服務器后,就可以從客戶端發出rsync命令來實現各種同步的操作。rsync有很多功能選項,下面就對介紹一下常用的選項: rsync的命令格式可以為: 1. rsync [OPTION]... SRC [SRC]... [USER@]HOSTEST 2. rsync [OPTION]... [USER@]HOST:SRC DEST 3. rsync [OPTION]... SRC [SRC]... DEST 4. rsync [OPTION]... [USER@]HOST::SRC [DEST] 5. rsync [OPTION]... SRC [SRC]... [USER@]HOST:EST 6. rsync [OPTION]... rsync://[USER@]HOST[ORT]/SRC [DEST] rsync有六種不同的工作模式: 1. 拷貝本地文件;當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這種工作模式。 2.使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號":"分隔符時啟動該模式。 3.使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啟動該模式。 4. 從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。 5. 從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啟動該模式。 6. 列遠程機的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機信息即可。 rsync中的參數 -a 以archive模式操作、復制目錄、符號連接 相當于-rlptgoD -r 是遞歸 -l 是鏈接文件,意思是拷貝鏈接文件;-p 表示保持文件原有權限;-t 保持文件原有時間;-g 保持文件原有用戶組;-o 保持文件原有屬主;-D 相當于塊設備文件; -z 傳輸時壓縮; -P 傳輸進度; -v 傳輸時的進度等信息,和-P有點關系,自己試試。可以看文檔; -e ssh的參數建立起加密的連接。 -u只進行更新,防止本地新文件被重寫,注意兩者機器的時鐘的同時 --PRogress是指顯示出詳細的進度情況 --delete是指如果服務器端刪除了這一文件,那么客戶端也相應把文件刪除,保持真正的一致 --passWord-file=/password/path/file來指定密碼文件,這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了,這里需要注意的是這份密碼文件權限屬性要設得只有屬主可讀。 B、一些實例 B1、列出rsync 服務器上的所提供的同步內容; 首先:我們看看rsync服務器上提供了哪些可用的數據源 # rsync --list-only root@192.168.1.3:: B2、rsync客戶端同步數據; # rsync -avzP root@192.168.1.3::video video注: 這 個命令的意思就是說,用root用戶登錄到服務器上,把video數據,同步到本地當前目錄video上。當然本地的目錄是可以你自己定義的。如果當你在客戶端上當前操作的目錄下沒有video這個目錄時,系統會自動為你創建一個;當存在video這個目錄中,你要注意它 的寫權限。設定密碼文件# touch /etc/rsyncd/syncd.secrets# chmod 600 /etc/rsyncd/rsyncd.secrets# echo "123456"> /etc/rsyncd/rsyncd.secrets 注:rsync服務器執行用戶密碼#rsync -avzP --password-file=/etc/rsyncd/rsyncd.secrets root@192.168.1.3::video video
新聞熱點
疑難解答