(1)下载Rsync源码进行安装
(2)1’ cd rsync
2’ ./configure --prefix=/usr/local/rsync
3’ make
4’ make install(可能需要权限,加上sudo解决)
(3) Rsync命令同步参数选项(了解)
rsync [OPTION...] SRC ... DEST
常用参数选项说明:
-v, --verbose 详细模式输出,传输时的进度等信息
-z, --compress 传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩
-r, --recursive 对子目录以递归模式,即目录下的所有目录都同样传输,注意是小写r
-t, --times 保持文件时间信息
-o, --owner 保持文件属主信息
-p, --perms 保持文件权限
-g, --group 保持文件属组信息
-P, --progress 显示同步的过程及传输时的进度等信息
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgDl
-D, --devices 保持设备文件信息
-l, --links 保留软链接
-e, --rsh=COMMAND 使用的信道协议, 指定替代rsh的shell程序。例如:ssh
--exclude=PATTERN 指定排除不需要传输的文件模式
以上为常用的参数:更多参数请自行man rsync 或查看资料地址: http://www.samba.org/ftp/rsync/rsync.html
vza相当于 vzrtopgDl
特别提示:
rsync -avz /opt/ /mnt #加/,只同步目录内的内容
rsync -avz /opt /mnt #不加/,会将目录和目录内的内容一起同步
(4)服务器端配置:cd /usr/local/rsync
(5) echo “rsync-pwd” >/usr/local/rsync/rsync.passwd(如果需要权限的话,改为sudo su root 后执行该命令)。
(6) chmod 600 rsync.passwd
(7) vi /usr/local/rsync.conf 加入如下内容:
uid = root
gid = root
use chroot = no
max connections = 10000
strict modes = yes
address = 192.168.11.73 (服务器地址 需要同步的服务器的ip地址)
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[public]
path = /home/public (需要同步的目录)
comment = web file
ignore errors
read only = no
write only = no
hosts allow =*
list = false
uid = root
gid = root
auth users = root,HeQiang(这个为自己电脑用户名)
secrets file = /usr/local/rsync/rsync.passwd
(7)启动rsync服务器:运行前都需要确保自己的rsync是否打开 ps -ef|grep rsync
/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsync.conf
(8) sudo su root
(9) rsync -avz [email protected]:/home/public/ /test/ (HeQiang为服务器电脑的用户名 后面是服务器电脑ip :后面是要复制的目录 最后的那个是要复制到的路径 )
(10) 提示需要密码,输入为对方服务器的密码!
(11) 同步推:rsync -avz /test/ [email protected]:/home/public/
(12) rsync -avz --delete [email protected]:/home/public /test/ --delete 选项,表示客户端上的数据要与服务器端完全一致,如果 linuxsirhome目录中有服务器上不存在的文件,则删除。最终目的是让linuxsirhome目录上的数据完全与服务器上保持一致;用的时候要 小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把你的数据全部删除;
(13) --password-file=/etc/rsyncd.secrets
(14) rsync -avz --password-file =/etc/rsync.password [email protected]:/home/public/ /test/
免密码拷贝方式: (通过ssh免密码拷贝)
(15)rsync -avz -e ssh [email protected]:/home/public/ /test/
免密码登陆
(16)ssh-keygen -t dsa(一直enter)
(17)cd .ssh/
(18)scp id_dsa.pub [email protected]:~/id_dsa_hostname.pub(hostname为自己电脑名字)
(19)ssh [email protected]
(20)cat id_dsa_hostname.pub>>.ssh/authorized_keys