1. 第一种

  2.       执行rsync,确保你帐户的密码在远程服务器上可以使用,并能够将文件复制到远程服务器。例:将本地目录 /home/linuxprobe同步到远程目录/back/linuxprobe(服务器地址:192.168.200.10) ,执行此操作时,服务器会要求你输入密码,如下命令:

    rsync -avz -e ssh /home/linuxprobe / linuxprobe@192.168.200.10:/backup/linuxprobe/

  3. 现在我们来配置ssh使得通过ssh执行rsync时不再索要密码。在本地服务器上使用ssh-keygen生成公钥和秘钥,如下命令:


  4.      $ ssh-keygen -t  rsa

    Enter passphrase (empty for no passphrase): 

    Enter same passphrase again:

    注意:当它要求您输入passphrase按下enter键,不需要给任何密码


  5.      使用ssh-copy-id命令将公钥拷贝至远程主机

    ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10

    注:执行以上操作时会要求你输入远程主机帐户和密码,然后就会自动将公钥拷贝至远程目录。


  6.      现在,你可以不需要密码通过ssh连接到远程主机

    ssh 192.168.200.10

    再次执行rsync,它将不再要求你输入密码

    rsync -avz -e ssh /home/linuxprobe/ linuxprobe@192.168.200.10:/backup/linuxprobe/


第二种

   

启动

rsync --daemon


配置文件 rsyncd.conf


uid = www

gid = www

use chroot = no

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsync.log


[tongbu]

path=/home/wwwroot/default/images/  //共享文件路径

ignore errors    // 忽略错误

read only = false

list = falses

hosts allow = 10.0.0.0/24

hosts denv = 0.0.0.0/32

auth users = root

secrets file=/etc/rsyncd.passwd