閱讀985 返回首頁    go 人物


使用rsync同步windows與Linux文件

有時候需要在windows和Linux之間同步數據,或者遠程備份,可以使用rsync。在標準的RedHat Linux發行版本中,一般都帶有rsync,而在windows上需要下載和安裝cwrsync。具體配置如下。

  服務器配置

  假設服務器設置在Linux上,使用係統自帶的rsync

  a ) 首先需要編輯一個配置文件/etc/rsyncd.conf,比如:

  log file = /var/log/rsyncd.log

  transfer logging=yes

  use chroot = no

  max connections = 4

  [test]

  path=/tmp/ruser/test

  comment=My laptop

  ignore errors = yes

  #strict modes = no

  read only = no

  list = no

  auth users = ruser

  secrets file = /etc/ruser.pas

  hosts allow=*

  hosts deny=*

  [web]

  path=/var/www/html

  comment =my home page

  前4行是全局設置。後麵有兩個模塊test和web。每個模塊下有自己的個性配置,比如路徑(path)、注釋(comment)、訪問權限設置等。auth users設置可以訪問的用戶列表,這裏為ruser。如果不指定,就為匿名,即不需要密碼也可以同步。secret file指定密碼文件,格式:帳號:密碼 (每行一組,帳號和密碼用:號分開)。這裏指定為/etc/ruser.pas,內容為:

  ruser:123456

  hosts allow和hosts deny指定允許或拒絕的機器名。

  b) 配置後,就要啟動rsync服務器,有兩種方式:單獨啟動或者使用xinetd服務

  單獨啟動

  rsync –daemon –config=/etc/rsyncd.conf

  使用xinetd服務,編輯/etc/xinetd.d目錄下的rsync文件,比如:

  # default: off

  # description: The rsync server is a good addition to an ftp server, as it \

  # allows crc checksumming etc.

  service rsync

  {

  disable = no

  socket_type = stream

  wait = no

  user = root

  server = /usr/bin/rsync

  server_args = –daemon

  log_on_failure += USERID

  }

  客戶端配置

  假設到d:\Program Files\cwRsync,首先編輯一個密碼文件,比如ruser.pas,這裏要注意兩個事情。a)與服務器上的密碼文件格式不一樣,直接為密碼,沒有用戶名;b)要用bin目錄下的chmod命令改變其訪問權限,否則出現錯誤:”password file must not be other-accessible“。使用方法是chmod 600 ruser.pas。

  然後可以使用一個rsync命令就可以了,為了方便可以寫如下批處理腳本:

  @ECHO OFF

  cd d:\Program Files\cwRsync\bin

  rsync.exe –password-file=ruser.pas -avz /cygdrive/e/tmp/SimpleCloudAPI-0.2/ ruser@cdev01.ihep.ac.cn::test

  cd ..

  注意,在第三行中,test前麵是兩個冒號,表示test是一個模塊名,如果僅有一個冒號,就是具體的路徑。對於模塊名,服務器會到/etc/rsyncd.conf中查找路徑,本文中就是/tmp/ruser/test。

  各種功能腳本

  使用rsync可以實現多種功能,比如遠程增量備份、網站鏡像等,隻要寫好客戶端腳本都可以輕鬆實現。

最後更新:2017-01-04 22:34:37

  上一篇:go 如何選擇合適的MySQL存儲引擎
  下一篇:go mysql常用命令