差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
zh:用途和案例:如何使用rsync同步远程服务器上的文件 [2017/03/03 03:03] liuxlzh:用途和案例:如何使用rsync同步远程服务器上的文件 [2017/03/06 04:00] (当前版本) liuxl
行 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,参考改成如下图:
行 79: 行 79:
 ===== 二、客户机端配置 ===== ===== 二、客户机端配置 =====
  
-==== 客户端创建密码验证文件 ===+==== 客户端创建密码验证文件 ====
  
   *客户端创建密码验证文件rsyncd.secrets,这样设置的好处是指定密码不用再手动输入密码验证,方便在crontab里设置定时同步。   *客户端创建密码验证文件rsyncd.secrets,这样设置的好处是指定密码不用再手动输入密码验证,方便在crontab里设置定时同步。
  
-<code>echo "astercc" > /root/rsyncd.secrets</code>+<code>echo "astercc"/root/rsyncd.secrets 
 +chmod 600 /root/rsyncd.secrets</code> 
 + 
 +==== 客户端同步远程文件 ====
  
   *测试获取远程服务器可同步的文件资料信息。   *测试获取远程服务器可同步的文件资料信息。
行 92: 行 95:
  
 <code>rsync -avzP test@192.168.1.90::monitor /var/spool/asterisk/monitor --password-file=/root/rsyncd.secrets</code> <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同步远程服务器上的文件.1488510238.txt.gz · 最后更改: (外部编辑)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki