1.Rsync命令格式
本地: rsync [OPTION...] SRC... [DEST]
通过shell远程访问:
拉取: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
推送: rsync [OPTION...] SRC... [USER@]HOST:DEST
通过rsync守护进程访问:
拉取: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
推送: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
架构 a为主 b为备份机
A 主 192.168.1.146 主的数据同步到从服务器的备份目录
B 从 192.168.1.146
2、下载rsync软件
[root@A 132 ~]# cd /usr/local/src/
[root@A 132 src]# wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
3.解压包
[root@A src]# tar zxvf rsync-3.1.2.tar.gz
5.创建程序安装目录,并编译安装
[root@A src]# cd rsync-3.1.2
[root@A rsync-3.1.2]# mkdir /usr/local/rsync
[root@A rsync-3.1.2]# ./configure --prefix=/usr/local/rsync
[root@A rsync-3.1.2]# make && make install
6.配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/srync/bin
source /etc/profile (重新加载)
7.建立软连接
[root@A ~]# ln -s /usr/local/rsync/bin/rsync /usr/bin/rsync
8.查看当前版本
[root@A ~]# rsync --version
rsync version 3.1.2 protocol version 31
二、配置
1配置
vim /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 873
use chroot = on
max connections = 10
timeout = 120
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[bakup]
path = /www
comment = www file
ignore errors
read only =no
list = false
hosts allow = 192.168.0.0/24
auth users = rsync_bakup #用户名
secrets file = /etc/rsyncd.password #密码文件
2.创建密码文件
内容 为用户名:密码 rsync_bakup:Rsync123 #密码
B客户端也需要做
vim /etc/rsyncd.password 内容为(密码 只有密码 ) Rsync123
chmod 600 /etc/rsyncd.password
3.创建Rsync server服务启动的系统账户
[root@kry132 ~]# useradd rsync -M -s /bin/nologin
4.启动服务
A客户端启动守护进程
[root@kry132 ~]# rsync --daemon
通过shell模式
rsync -av www 192.168.1.147:www #同步www文件夹到147的www需要输入用户名
B客户端
/usr/local/rsync/bin/rsync -vzrtopg --delete backup@192.168.1.146::www /www/test --password-file=/etc/rsyncd.password
解释
/usr/bin/rsync
-vzrtopg # z 压缩 r 对子目录递归处理
--delete #以服务器端为基准进行同步
--progress 用于显示数据同步的过程
--exclude "*access*" 用于排除不需要传输的文件类型
--exclude "debug*"
backup@192.168.1.147::ixdba
#表示对服务器的192.168.1.147 中的ixdba模块进行同步 指定备份的模块
backup用这个用户进行备份
/ixdba.net 用于指定在客户机上的存放路径
--password-file=/etc/rsyncd.password
查看进程
ps axu | grep rsync
A 132服务
B 103 客户端
103 147 推数据到147
rsync -avzP test.txt rsync_bakup@192.168.1.146::bakup --password-file=/etc/rsyncd.password
从服务器拉取
/usr/local/rsync/bin/rsync -av rsync_bakup@192.168.1.146::bakup /www --password-file=/etc/rsyncd.password
rsync -avzP rsync_bakup@192.168.1.146::bakup /www --password-file=/etc/rsyncd.password