×

rsync文件实时同步 上传文件 上传

rsync文件实时同步(怎么配置六台机器连接服务器相互共享文件一台主机只对服务器上传文件)

admin admin 发表于2023-06-03 23:37:20 浏览75 评论0

抢沙发发表评论

本文目录

怎么配置六台机器连接服务器相互共享文件一台主机只对服务器上传文件

服务器共享文件,要看文件大小,文件不大的话,可以使用Linux自身的scp命令就可以,但是如果文件太大的话就需要使用文件同步了,常用的同步工具有rsync。

1.scp命令

scp命令是Linux远程复制文件的命令,使用格式为:scp -r 远程主机用户名@IP:数据目录或文件 需要复制到的本地d的目录,-r参数是复制目录用的如果只是文件可以不用加,比如:scp -r root@192.168.1.100:/opt/data /home/data/

在其中5台机器上执行,写成shell脚本,然后加上crontab定时任务就可以了。

2.利用rsync

推荐使用此方法,开源镜像服务站就是使用rsync同步的,因为rsync可以实现增量同步,在上传文件的那台机器配置rsync服务端,其余的机器配置rsync客户端,配合crontab,实现实时同步服务端的数据。

  • rsync功能
    • 作为命令,实现本地-远程文件同步
    • 作为服务,实现本地-远程文件同步
  • rsync特点
    • 可以镜像保存整个目录树和文件系统
    • 可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等
    • 传输效率高,使用同步算法,只比较变化的
    • 支持匿名传输,方便网站镜像;也可以做验证,加强安全
  • rsync同类服务
    • sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
    • async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。
    • rsync 远程同步:remote synchronous

如何同步两个linux机器

在日常开发运维工作中,经常会遇到多台服务器上的数据同步问题,特别是集群部署时,如果不是自动化同步数据,全靠人工同步那工作量就会很大。

Linux的文件同步工具 Rsync

Rsync是Linux系统下的一款数据备份工具,使用它可以增量备份,不光光支持本地复制还支持远程同步,功能十分强大。

1、Rsync优点:

  • Rsync在第一次同步时是全量同步,后面同步时只会传输修改过的文件;

  • 在传输过程中还可以进行压缩传输,性能高(比scp要好);

  • 另外可以保持文件原来的权限/时间/软硬连接,避免了我们同步文件后还要设置权限的尴尬。

2、Rsync缺点:

  • Rsync是根据Linux守护进程来触发同步的,不能实时的检测到文件变化,存在时间差。

Linux上的 Inotify 特性

Inotify 是Linux内核的一个特性,它主要用来监控文件系统的操作(创建、写入、读取)并及时向专门的程序发出通知。它的优点就是:响应及时,比Cron轮询要高效很多。

Linux上文件同步最佳实践:Inotify + Rsync

鉴于上面介绍的Rsync和Inotify,在实际运维工作中我们都是将两者搭配使用,即:使用Inotify实时监测文件系统变化,然后利用Rsync进行数据同步。

这样做的好处就是可以实现近乎实时的进行已修改文件的增量同步。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!