Linux下rsync 数据镜像备份
rsync特性:
可以镜像保存整个目录树和文件系统
可以增量同步数据,文件传输效率高,因而同步时间很短。
可以保持原有文件的权限、时间等属性。
加密传输数据,保证了数据的安全性
两种模式:
client / server # 通过873端口建立数据同步
client / client # 通过SSH 默认22 端口建立数据同步
安装rsync
yum install rsync
查看rsync版本
rpm -qa rsync
rsync-3.1.2-4.el7.x86_64
或者 rsync
查看rsync安装位置
rpm -ql rsync
在服务器端:
编辑rsync配置文件
vim /etc/rsyncd
内容如下
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log[rsync_module_1]
path = /rsync_data_1
comment = rsync_data for sharing to client server
ignore errors
read only = true
list = false
uid = root
gid = root
auth users = rsync_bak
secrets file = /etc/rsync_server.pass
按照配置文件内容,创建/etc/rsync_server.pass 文件,且权限为600
内容
rsync_bak:rsyncpwd
chmod 600 /etc/rsync_server.pass
根据配置文件创建相应的目录
mkdir -p /rsync_data_1
启动rsync服务和验证
/usr/bin/rsync --daemon
ps -ef | grep rsync
lsof -c rsync
netstat -antlp | grep rsync
客户端
确保安装了rsync组件
创建客户端rsync的密码文件,其密码和服务器端一致,且文件权限为600
vim /etc/rsync_client.pass
cat /etc/rsync_client.pass
rsyncpwd
chmod 600 /etc/rsync_client.pass
客户端指定/创建rsync的目录
mkdir -p /rsync_data
从服务器端拉取数据
/usr/bin/rsync -vzrtopg --delete --progress rsync_bak@192.168.199.185::rsync_module_1 /rsync_data --password-file=/etc/rsync_client.pass
验证是否成功从服务器端拉取到数据
ll /rsync_data/
注意:无论客户端对数据怎么样操作,只要进行了数据同步操作,始终保持服务器端的数据
Rsync 的 client / client 模式
例子:
rsync -vzrtopg --delete --progress -e 'ssh -p 9090' data_1 root@xxx.xxx.xxx.xxx:/tmp (推送模式)
rsync -vzrtopg --delete --progress -e 'ssh -p 9090' root@xxx.xxx.xxx.xxx:/tmp/data_1 /data/(拉取模式)
9090是sshd服务的自定义端口, 默认22端口的话不加 -e 选项。
转载于:https://blog.51cto.com/snowlai/2318610