今天登陆一台服务器发现上面的rsync的守护进程一会增多,一会减少,很是疑惑

如下

ps aux|grep rsync
root      9563  0.0  0.0   4332   884 ?        S    09:49   0:00 rsync --daemon
root      9576  0.0  0.0   4776  1192 ?        S    09:49   0:00 rsync --daemon
root      9586  0.0  0.0   5000   688 ?        S    09:49   0:00 rsync --daemon
root      9590  0.0  0.0   4776  1188 ?        S    09:49   0:00 rsync --daemon
root      9591  0.0  0.0   4728  1156 ?        S    09:49   0:00 rsync --daemon
root      9592  0.0  0.0   4988   416 ?        S    09:49   0:00 rsync --daemon
root      9593  0.0  0.0   4332   952 ?        S    09:49   0:00 rsync --daemon

首先需要先弄清楚,进程增多的原因,做了几个测试,发现要是远端的服务器同步本机的数据,就会增加进程。可以先看一下当前连接873端口的连接有哪些

netstat -aopn |grep 873
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      29702/rsync         off (0.00/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45118        TIME_WAIT   -                   timewait (16.22/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45640        TIME_WAIT   -                   timewait (46.99/0/0)
tcp        0      6 61.160.210.41:873           115.238.73.233:45725        ESTABLISHED 2878/rsync          on (0.20/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45494        TIME_WAIT   -                   timewait (36.99/0/0)
tcp        0  28883 61.160.210.41:58319         125.91.11.55:873            ESTABLISHED 30089/rsync         unkn-4 (1.88/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45231        TIME_WAIT   -                   timewait (22.72/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45229        TIME_WAIT   -                   timewait (22.72/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45226        TIME_WAIT   -                   timewait (22.71/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45224        TIME_WAIT   -                   timewait (22.71/0/0)
tcp        0      0 61.160.210.41:873           115.238.73.233:45304        TIME_WAIT   -                   timewait (27.44/0/0)

现在才弄清楚开启了rsync,当有其他的服务器同步该主机的数据或有其他服务器推送文件到该主机都会在rsync服务器端会增加相应的守护进程。

另外,建议rsync不要使用系统自带rpm包,版本太低,现在我使用的是3.0.4, 同步的2端也要使用一样的版本。

在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。
备份的时候,rsync扫描到的每个文件(目录也一样),在它的列表中约占100字节的内存,如果加了--delete参数的话,占用的内存会更多。
rsync 3.X采用的是incremental file list,与原来的 2.X相比,现在是一边列表一边备份(添加或删除)。这对于大量文件的备份操作来说,无疑节省了很多时间

特别注意rsyncd.secrets和rsync.pass的文件权限必须的600