## 服务器端安装
~~~
#1,查看rsync安装包
rpm -qa rsync
#安装
#yum install rsync -y
#源码安装:
rpm -e --nodeps rsync #卸载系统自带的rsync
rpm -qa rsync
wget https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz
#wget -O https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz ./rsync.tar.gz
tar xf rsync-3.1.3.tar.gz
cd rsync-3.1.3
#./configure --prefix=/apps/rsync/
./configure
make && make install
#2,添加rsync服务的用户,管理本地目录的
useradd -s /sbin/nologin -M rsync
id rsync
#useradd rsync -s /sbin/nologin -M
#tail -1 /etc/passwd
#3,生成rsyncd.conf配置文件
#放入事先准备的配置。man rsyncd.conf去查(http://www.samba.org/ftp/rsync/rsyncd.conf.html)
vi /etc/rsyncd.conf
#rsync_config_______________start
#created by jo 2017-11-27
#QQ 31333741 blog:http://oldboy.blog.51cto.com
##rsyncd.conf start##
uid = rsync 用户,远端的命令使用rsync访问共享目录
gid = rsync 用户组
use chroot = no 安全选项
max connections = 200 最大连接数
timeout = 300 超时时间s
pid file = /var/run/rsyncd.pid rsync进程对应的进程号文件
lock file = /var/run/rsync.lock rsync的程序锁文件
log file = /var/log/rsyncd.log rsync的日志 出错
[oldboy] 模块名称
path = /oldboy 服务器提供访问的目录
ignore errors 忽略错误
read only = false 可读可写
list = false 不允许列表
hosts allow = 10.0.0.0/24 允许的主机范围
hosts deny = 0.0.0.0/32 拒绝的主机范围
auth users = rsync_backup 虚拟用户
secrets file = /etc/rsync.password 用户对应的密码文件
#rsync_config_______________end
#多模块配置
cat >/etc/rsyncd.conf<<EOF
#rsync_config_______________start
#created by jo 2018-07-27
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
#提取到上面,让所有模块公用下面的配置
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
#hosts allow和 hosts deny只保留一条
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
path = /backup
[nfsbackup]
path = /nfsbackup
#rsync_config_______________end
EOF
#4,根据rsyncd.conf的auth users配置帐户,远程连接的。并根据secrets file 参数生成密码文件
echo "rsync_backup:123456" >/etc/rsync.password
cat /etc/rsync.password
#5,为密码文件配置权限
chmod 600 /etc/rsync.password
ls -l /etc/rsync.password
#6,创建共享的目录并授权rsync服务管理
mkdir /backup -p
chown -R rsync.rsync /backup
ls -ld /backup/
#如果没有/backup目录,就会chdir failed
##7,启动rsync服务并检查
rsync --daemon
ps -ef | grep rsync |grep -v grep
lsof -i :873
#或者用下面的命令,已知端口查看命令
netstat -lntup|grep 873
#centos7
ss -lntup|grep 873
#8,加入开机启动
echo "/usr/bin/rsync --daemon" >>/etc/rc.local
tail -1 /etc/rc.local
~~~
## 客户端安装
~~~
#0,安装
yum install rsync -y
#1,生成连接服务器需要的密码文件
echo "123456" >/etc/rsync.password
cat /etc/rsync.password
#2,为密码文件配置权限
chmod 600 /etc/rsync.password
ls -l /etc/rsync.password
#3,同步文件
#推送
rsync -avz /tmp/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
rsync -avz /tmp/ rsync://rsync_backup@172.16.1.41/backup/ --password-file=/etc/rsync.password
#拉取:
rsync -avz rsync_backup@172.16.1.41::backup /tmp/ --password-file=/etc/rsync.password
rsync -avz rsync://rsync_backup@172.16.1.41/backup /tmp/ --password-file=/etc/rsync.password
说明:注意/dir01/表示目录下的所有内容 /dir01表示的目录本身
此例子是拷贝目录下的内容所以要加上/dir01/如果是要将/dir01整个目录拷贝到/dir02下,那么就要写/dir01 --->注意后面没有/
1,目录后有/,复制目录下的内容
2,目录后没有/,复制目录和目录下的内容
~~~