rsync + sersync架構中 max connections參數干擾同步的問題

  • server端配置:
      1 uid = root
      2 gid = root
      3 use chroot = no
      4 hosts allow=*
      5 pid file = /var/run/rsyncd.pid
      6 lock file = /var/run/rsync.lock
      7 max connections = 3             //寫在某個標籤下是一樣的
      8  
      9 [tp5shop]
     10 path=/usr/local/nginx/html/tp5shop
     11 read only = false
     12 comment = tp5shop
  • sersync端配置
     23     <sersync>
     24         <localpath watch="/usr/local/nginx/html/tp5shop">
     25             <remote ip="192.168.221.131" name="tp5shop"/>
    //同步的路徑和遠程IP

Q:

    //在sersync端創建文件file1-file5

    [root@server tp5shop]# touch file{1..5}
    [root@server tp5shop]# ll
    total 384
    drwxr-xr-x. 5 www  www    4096 Jun  5 03:15 application
    -rw-r--r--. 1 www  www    1124 Apr  2 13:47 build.php
    -rw-r--r--. 1 www  www    1051 Apr  2 13:47 composer.json
    -rw-r--r--. 1 www  www   18657 Apr  2 13:47 composer.lock
    drwxr-xr-x. 2 www  www    4096 May  7 14:56 extend
    -rw-r--r--  1 root root      0 Jun  6 01:13 file1
    -rw-r--r--  1 root root      0 Jun  6 01:13 file2
    -rw-r--r--  1 root root      0 Jun  6 01:13 file3
    -rw-r--r--  1 root root      0 Jun  6 01:13 file4
    -rw-r--r--  1 root root      0 Jun  6 01:13 file5
    -rw-r--r--. 1 www  www    1854 Apr  2 13:47 LICENSE.txt
    drwxr-xr-x. 8 www  www    4096 Jun  5 03:20 public
    -rw-r--r--. 1 www  www    5904 Apr  2 13:47 README.md
    drwxr-xr-x. 5 www  www    4096 May  7 15:06 runtime
    -rw-r--r--. 1 www  www     770 Apr  2 13:47 think
    drwxr-xr-x. 5 www  www    4096 May  7 14:56 thinkphp
    -rw-r--r--. 1 root root 319529 Apr 12 11:08 tpshop.sql
    drwxr-xr-x. 7 www  www    4096 May  7 14:56 vendor


    //rsync服務端只同步過來3個!
  ```
  ```  
    [root@server_HA tp5shop]# ll
    total 384
    drwxr-xr-x. 5 www  www    4096 Jun  4 23:10 application
    -rw-r--r--. 1 www  www    1124 Apr  2 13:47 build.php
    -rw-r--r--. 1 www  www    1051 Apr  2 13:47 composer.json
    -rw-r--r--. 1 www  www   18657 Apr  2 13:47 composer.lock
    drwxr-xr-x. 2 www  www    4096 May  7 14:56 extend
    -rw-r--r--  1 root root      0 Jun  6 01:13 file1
    -rw-r--r--  1 root root      0 Jun  6 01:13 file2
    -rw-r--r--  1 root root      0 Jun  6 01:13 file3
    -rw-r--r--. 1 www  www    1854 Apr  2 13:47 LICENSE.txt
    drwxr-xr-x. 7 www  www    4096 Jun  2 10:03 public
    -rw-r--r--. 1 www  www    5904 Apr  2 13:47 README.md
    drwxr-xr-x. 5 www  www    4096 May  7 15:06 runtime
    -rw-r--r--. 1 www  www     770 Apr  2 13:47 think
    drwxr-xr-x. 5 www  www    4096 May  7 14:56 thinkphp
    -rw-r--r--. 1 root root 319529 Apr 12 11:08 tpshop.sql
    drwxr-xr-x. 7 www  www    4096 May  7 14:56 vendor

問題總結: 文件同步個數即max connections所設定的最大個數,多了同步不過來!

A:

1.查詢max connections 的意義
併發連接的最大數,在達到最大值時,如果再有客戶端使用同步會提示如下信息: @ERROR: max connections (1) reached – try again later rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6] 提示客戶端達到最大連接數,稍後嘗試,如果寫成0則不限制,負值禁用模塊,配合lock file鎖文件使用。

max connections並不是用來限制同步文件的個數的,但是結果卻出錯。

2.更改參數位置到模塊中,還是不行。
3.進一步測試發現刪除時也會有問題

    //sersync端刪除文件
    [root@server tp5shop]# rm -f file* 
    [root@server tp5shop]# ll
    total 384
    drwxr-xr-x. 5 www  www    4096 Jun  5 03:15 application
    -rw-r--r--. 1 www  www    1124 Apr  2 13:47 build.php
    -rw-r--r--. 1 www  www    1051 Apr  2 13:47 composer.json
    -rw-r--r--. 1 www  www   18657 Apr  2 13:47 composer.lock
    drwxr-xr-x. 2 www  www    4096 May  7 14:56 extend
    -rw-r--r--. 1 www  www    1854 Apr  2 13:47 LICENSE.txt
    drwxr-xr-x. 8 www  www    4096 Jun  5 03:20 public
    -rw-r--r--. 1 www  www    5904 Apr  2 13:47 README.md
    drwxr-xr-x. 5 www  www    4096 May  7 15:06 runtime
    -rw-r--r--. 1 www  www     770 Apr  2 13:47 think
    drwxr-xr-x. 5 www  www    4096 May  7 14:56 thinkphp
    -rw-r--r--. 1 root root 319529 Apr 12 11:08 tpshop.sql
    drwxr-xr-x. 7 www  www    4096 May  7 14:56 vendor


    //rsync服務端
    [root@server_HA tp5shop]# ll
    total 384
    drwxr-xr-x. 5 www  www    4096 Jun  4 23:10 application
    -rw-r--r--. 1 www  www    1124 Apr  2 13:47 build.php
    -rw-r--r--. 1 www  www    1051 Apr  2 13:47 composer.json
    -rw-r--r--. 1 www  www   18657 Apr  2 13:47 composer.lock
    drwxr-xr-x. 2 www  www    4096 May  7 14:56 extend
    -rw-r--r--  1 root root      0 Jun  6 01:13 file3
    -rw-r--r--. 1 www  www    1854 Apr  2 13:47 LICENSE.txt
    drwxr-xr-x. 7 www  www    4096 Jun  2 10:03 public
    -rw-r--r--. 1 www  www    5904 Apr  2 13:47 README.md
    drwxr-xr-x. 5 www  www    4096 May  7 15:06 runtime
    -rw-r--r--. 1 www  www     770 Apr  2 13:47 think
    drwxr-xr-x. 5 www  www    4096 May  7 14:56 thinkphp
    -rw-r--r--. 1 root root 319529 Apr 12 11:08 tpshop.sql
    drwxr-xr-x. 7 www  www    4096 May  7 14:56 vendor

結論:無法完全刪除所有想要刪除的文件!

4.去掉這個參數,一切正常!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章