linux下rsync的同步

rsync是linux系统下的数据镜像备份工具 。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync****主机同步
文件下载地址:
链接:https://pan.baidu.com/s/1tLiY7FwVEeEZo5zSxZ43Aw
提取码:8888
这里简单说下环境,A是部署了机房的服务器,B是空的,需要把A的文件备份到B的服务器在A服务器下操作1.解压在/home下cd /hometar -xzf rsync-3.1.2.tar.gz2.编译及安装cd rsync-3.1.2./configuremake && make install3.rsync主要命令选项:-r:递归模式,对子目录以递归模式处理
-l:--links 保留软链结
-v:--verbose 详细模式输出
-a:--archive 权限保存模式,表示以递归方式传输文件,并保持所有文件属性,相当于-rlptgoD
-z:--compress 压缩模式,对备份的文件在传输时进行压缩处理
-p:--perms 保持文件权限,文件原有属性 。
-o:--owner 保持文件原有属主信息 。
-g:--group 保持文件原有属组信息 。
-D:--devices 保持设备文件信息 。
-t:--times 保持文件时间信息 。
-A:保持ACL属性信息
-D:保留设备文件及其其他特殊文件
--delete:删除目标位置有而原始位置没有的文件
--password-file=FILE,从FILE中得到密码
总结:
常用的****-avz
同步模式:
下行:rsync用户@主机ip:/远程目录本地目录rsync -az root@192.168.12.130:/rsync/netzxw15意思是把别的电脑文件下载到本地上行:rsync本地目录用户@主机ip:/远程目录rsync -az /netzxw15 root@192.168.12.130:/rsync意思是把本地的文件传给别的电脑4.创建软连接:ln -s /home/rsync-3.1.2/rsync /usr/bin/rsync5测试:A:部署了3D服务的机器,192.168.10.161
B:需要把3D文件同步到B服务器,192.168.10.162
在A ,B的 /home/新建一个test的文件夹,在A里面新建5个txt文件

linux下rsync的同步

文章插图
在A操作
我们把A的五个文件同步到B上面,因为我们是传给B,所以是上传
linux下rsync的同步

文章插图
rsync -avz /home/test/* root@192.168.10.161:/home/test//把本机的/home/test下的所有文件 传给192.168.10.161下的/home/test 里面输入密码即可同步成功
5.在A,B服务器上新建一个同步的用户,账号密码设置成一样的,并且设置好权限,免密同步创建用来做数据同步的用户,并给予用户对目录的相应权限,一般使用 ACL 设置权限# useradd rsync
linux下rsync的同步

文章插图
# passwd rsync
linux下rsync的同步

文章插图
设置好密码
linux下rsync的同步

文章插图
# setfacl -m u:rsync:rwx /home/wxq//这里的指的是新建的用户只有指定的目录权限,实际情况替换为机房所在文件夹
linux下rsync的同步

文章插图
ssh-keygen -t rsa -b 2048一路回车
linux下rsync的同步

文章插图
ssh-copy-id rsync@192.168.10.162//传送到B服务器上面
linux下rsync的同步

文章插图
输入yes
linux下rsync的同步

文章插图
输入密码,刚才设置的rsync用户的密码
linux下rsync的同步

文章插图
咱们用ssh登录测试一下,无需输入密码就可以进去了
ssh rsync@192.168.10.162
linux下rsync的同步

文章插图
这时候我们测试一下同步就不需要密码了,我们在161上新建了一个文件,我们使用同步到162上
linux下rsync的同步

文章插图
我们看到此时就不需要密码就可以实现了
7.后台自动运行同步文件Inotify 是一个 Linux特性,它监控文件系统操作 , 比如读取、写入和创建 。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多 。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统治理的命令行工具 。

推荐阅读