Linux-rsync+inotify-实时同步
作者:互联网
实验环境
数据端 centos8 10.0.0.8 data-server
备份端 centos8 10.0.0.88 backup-server
1、备份服务器 backup-server 配置
安装rsync
[root@backup-server ~]#yum install rsync rsync-daemon -y
创建rsync配置文件
[root@backup-server ~]#touch /etc/rsyncd.conf #有rsyncd.conf配置文件才能启动rsync服务端 [root@backup-server ~]#rsync --daemon # --daemon 启动服务端
设置共享目录,编辑配置文件
[root@backup-server ~]#vim /etc/rsyncd.conf [root@backup-server ~]#cat /etc/rsyncd.conf [www] path = /data/www/ read only = no #默认yes只读, no指定可读写
指定目录给nobody权限,默认用户以nobody访问此目录
[root@backup-server ~]#mkdir /data/www [root@backup-server ~]#setfacl -m u:nobody:rwx /data/www/
2、数据端查看,配置
监控工具
yum install -y inotify-tools rsync
访问测试
[root@data-server ~]#rsync rsync://10.0.0.88 www #查看到共项目了
[root@data-server ~]#rsync 10.0.0.88::
www
拷贝文件测试
数据端 [root@data-server ~]#rsync /etc/passwd 10.0.0.88::www 备份端 [root@backup-server ~]#ll /data/www/ total 4 -rw-r--r-- 1 nobody nobody 1320 May 28 23:29 passwd #用户默认都映射为nobody
以独立服务方式运行rsync并实现验证功能
备份服务器
编辑 rsync 配置文件
[root@backup-server ~]#vim /etc/rsyncd.conf [root@backup-server ~]#cat /etc/rsyncd.conf uid=root #指定用户来访问共享目录,将之指定为生成的文件所有者,默认nobody gid=root #默认nobody max connections = 0 #最大连接数不受限制 ignore errors #错误跳过 exclude = lost+found/ #跳过某些目录 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock reverse lookup = no #禁止方向解析 [www] path = /data/www/ read only = no auth users = rsyncuser #默认anonymous可以访问rsync服务器 secrets file = /etc/rsync.pas #用户密码存放文件
root@backup-server ~]#echo "rsyncuser:123456" > /etc/rsnc.pas #设置用户密码存放进文件 [root@backup-server ~]#chmod 600 /etc/rsnc.pas #不给其他用户查看 增删改 [root@backup-server ~]#ll /etc/rsnc.pas -rw------- 1 root root 17 May 28 23:43 /etc/rsync.pas [root@backup-server ~]#rsync --daemon #可加入/etc/rc.d/rc.local 实现开机启动 [root@backup-server ~]#systemctl start rsyncd #服务来自rsync-daemon包
数据端
- 客户端配置密码文件
- 也可将密码赋值给环境变量RSYNC_PASSWORD变量,但不安全
- export RSYNC_PASSWORD=magedu
[root@data-server ~]#echo "123456" > /etc/rsync.pas [root@data-server ~]#chmod 600 /etc/rsync.pas
客户端测试同步数据
数据端 [root@data-server ~]#rsync /etc/sysctl.conf --password-file=/etc/rsync.pas rsync://rsyncuser@10.0.0.88/www 备份服务器 [root@backup-server /data/www]#ll total 8 -rw-r--r-- 1 nobody nobody 1320 May 28 23:29 passwd -rw-r--r-- 1 root root 449 May 29 00:26 sysctl.conf
创建文件测试
删除文件测试
标签:rsync,inotify,root,server,etc,data,Linux,backup 来源: https://www.cnblogs.com/lyj1023/p/16322685.html