差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
zh:用途和案例:如何使用rsync同步远程服务器上的文件 [2017/03/03 02:53]
liuxl
zh:用途和案例:如何使用rsync同步远程服务器上的文件 [2017/12/12 03:05] (当前版本)
行 1: 行 1:
-<​note>​rsync是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息,通过ssh方式来传输文件,本文将介绍如何使用rsync同步astercc的录音文件夹monitor。</​note>​+<​note>​rsync是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息,通过ssh方式来传输文件,本文将介绍如何使用rsync同步asterCC的录音文件夹monitor,测试rsync服务器IP地址为192.168.1.90。</​note>​
  
 ===== 一、服务器端配置 ===== ===== 一、服务器端配置 =====
行 26: 行 26:
  
 <​code>​ <​code>​
-#port = 873   # 指定运行端口默认是873也可以自己指定。+#port = 873   # 指定运行端口默认是873也可以自己指定,不设置即为默认可用#​号注释掉
 uid = root   # 服务器端传输文件时要哪个用户来执行默认是nobody,但nobody可能遇到权限问题有些文件从服务器上拉不下来本文用户采用root。 uid = root   # 服务器端传输文件时要哪个用户来执行默认是nobody,但nobody可能遇到权限问题有些文件从服务器上拉不下来本文用户采用root。
 gid = root # 同上设置服务器端传输文件时要哪个组来执行。 gid = root # 同上设置服务器端传输文件时要哪个组来执行。
行 34: 行 34:
  
 hosts allow=192.168.1.0/​24 # 允许主机,可以指定单个IP也可以指定整个网段能提高安全性,多个地址格式要用空格隔开。 hosts allow=192.168.1.0/​24 # 允许主机,可以指定单个IP也可以指定整个网段能提高安全性,多个地址格式要用空格隔开。
-#hosts deny=* # 指定不允许连接rsync服务器的机器,可以使用hosts allow的定义方式来进行定义,默认是没有hosts deny定义。+#hosts deny=* # 指定不允许连接rsync服务器的机器,可以使用hosts allow的定义方式来进行定义,默认是没有hosts deny定义,可用#​号注释掉
  
 max connections = 5 # 客户端最多连接数。 max connections = 5 # 客户端最多连接数。
行 41: 行 41:
 log file = /​var/​log/​rsyncd.log ​ # 开启rsync服务器的日志。 log file = /​var/​log/​rsyncd.log ​ # 开启rsync服务器的日志。
  
-#lock file = /​tmp/​rsync.lock ​  # 指定支持max connections参数的锁文件。 ​           +lock file = /​tmp/​rsync.lock ​  # 指定支持max connections参数的锁文件。 ​           
-#motd file = /​etc/​rsyncd/​rsyncd.motd ​  # 指定定义服务器信息文件路径,当用户登录时会看到这个信息。 ​      +#motd file = /​etc/​rsyncd/​rsyncd.motd ​  # 指定定义服务器信息文件路径,当用户登录时会看到这个信息,非必须可用#​注释掉。       
 transfer logging = yes   # 使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中。 transfer logging = yes   # 使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中。
  
行 55: 行 55:
 auth users = test   # 认证用户。 auth users = test   # 认证用户。
 comment = Get monitor ​  # 注释信息可以自己定义。 comment = Get monitor ​  # 注释信息可以自己定义。
-#exclude = data/ cache/ ​  # 排除的意思把monitor目录下的data和cache排除在外,目录之间有空格分开。</​code>​+#exclude = data/ cache/ ​  # 排除的意思把monitor目录下的data和cache排除在外,目录之间有空格分开,没有可用#​号注释掉。</​code>​
  
   *设定/​etc/​xinetd.d/​rsync,参考改成如下图:   *设定/​etc/​xinetd.d/​rsync,参考改成如下图:
行 78: 行 78:
  
 ===== 二、客户机端配置 ===== ===== 二、客户机端配置 =====
 +
 +==== 客户端创建密码验证文件 ====
 +
 +  *客户端创建密码验证文件rsyncd.secrets,这样设置的好处是指定密码不用再手动输入密码验证,方便在crontab里设置定时同步。
 +
 +<​code>​echo "​astercc"​ > /​root/​rsyncd.secrets
 +chmod 600 /​root/​rsyncd.secrets</​code>​
 +
 +==== 客户端同步远程文件 ====
 +
 +  *测试获取远程服务器可同步的文件资料信息。
 +
 +<​code>​rsync -avzP test@192.168.1.90::​monitor /​var/​spool/​asterisk/​monitor --password-file=/​root/​rsyncd.secrets</​code>​
 +
 +  *同步远程服务器共享的的文件资料信息,本例为同步asterCC的录音文件夹/​var/​spool/​asterisk/​monitor。
 +
 +<​code>​rsync -avzP test@192.168.1.90::​monitor /​var/​spool/​asterisk/​monitor --password-file=/​root/​rsyncd.secrets</​code>​
 +
 +<note tip>​可以将上面的命令设置于crontab中用于定时文件同步。</​note>​
 +
 +<​code>​-a 以archive模式操作、复制目录、符号连接 相当于-rlptgoD
 +-z 传输时压缩。
 +-P 传输进度。
 +-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档。
 +--delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致,本例只进行录音文件备份所以不需要这个选项。
 +--password-file=/​password/​path/​file 来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是密码文件权限600。</​code>​
zh/用途和案例/如何使用rsync同步远程服务器上的文件.1488509634.txt.gz · 最后更改: 2017/12/12 03:11 (外部编辑)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki