rsync 文件同步!
rsync
1.关闭防火墙和selinux
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2.安装rsync服务
wget https://rsync.samba.org/ftp/rsync/src/rsync-3.1.2.tar.gz
cd rsync-*.*.*
./configure --prefix=/usr/local/rsync
make && make install
3.配置rsync服务
Vim /etc/rsyncd.conf
#pid文件的存放位置
pid file = /var/run/rsync.pid
#日志文件位置,启动rsync后自动产生这个文件,无需提前创建
log file = /var/log/rsync.log
#支持max connections参数的锁文件
lock file=/var/run/rsync.lock
#用户认证配置文件,里面保存用户名称和密码
secrets file = /etc/rsync.pw
#rsync启动时欢迎信息页面文件位置
motd file = /etc/rsyncd.motd
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
#自定义名称
[data]
#设置需要同步的目录
path = /data/test/
#模块名称与[data]自定义名称相同
comment = data
exclude = blank.png ; spinner.gif ; downsimple.png ; rails.png ; WEB-INF/
#默认端口
port = 873
#设置rsync运行权限为root
uid = root
#设置rsync运行权限为root
gid = root
#设置超时时间
timeout = 600
#最大连接数
max connections = 200
#默认为true,修改为no,增加对目录文件软连接的备份
use chroot = no
#设置rsync服务端文件为读写权限
read only = no
#不显示rsync服务端资源列表
list = no
#允许进行数据同步的客户端IP地址
hosts allow = 192.168.1.3,192.168.1.4
#增加test1目录
[test1]
path = /data/test1
list = yes
ignore errors
comment = ucweb-file system
secrets file = /etc/rsync.pw
exclude = blank.png ; spinner.gif ; downsimple.png ; rails.png ; WEB-INF/
4.增加必要文件,账户密码信息,传送时显示页面信息
vi /etc/rsync.pw
root:123456
chmod 600 /etc/rsync.pw
chown root:root /etc/rsync.pw
vi /etc/rsyncd.motd
###############################
# #
# start rsync #
# #
###############################
5.启动服务
/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf
开机启动
echo '/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf'>>/etc/rc.d/rc.local
6.客户端配置 .新建客户端密码文件(客户端不带用户名)
vi /etc/rsyncd.pw
123456
chmod 600 /etc/rsyncd.pw
//data 模块 /testbak/ 备份客户端地址
rsync -vzrtopg --progress --delete root@192.168.5.189::data /testbak/
rsync -vzrtopg --progress --delete root@192.168.5.189::data /testbak/ --password-file=/etc/rsyncd.pw
7.定时备份执行 新建同步脚本
mkdir –p /shell/rsync/
vi rsync.sh
#!/bin/bash
rsync -vzrtopg --progress --delete root@192.168.5.189::data /testbak/
rsync -vzrtopg --progress --delete root@192.168.5.189::data /testbak/ --password-file=/etc/rsyncd.pwd
手动同步文件
cd /shell/rsync
#./rsync.sh
自动同步:每隔五分钟同步一次
crontab -e
0,5 * * * * /rsync.sh
rsync服务器文件列表
rsync -vzrtopg rsync://192.168.1.111/data
本地cp
rsync -vzrtopg /testbak/ /usr/local/src/
scp
本地->另一台服务器
rsync -vzrtopg /testbak/ root@192.168.1.201:/data/test/
另一服务器->本地
rsync -vzrtopg root@192.168.1.201:/data/test/ /testbak/
--process
显示步骤
--delete
删除目标路径有而原路径没有的文件
本地到rsync服务器
rsync -avzropg --process --delete /testbak/ root@192.168.1.111::data
rsync服务器到本地
rsync -avzrtopg --process --delete root@192.168.1.111::data /testbak/