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

服务器共享文件,要看文件大小,文件不大的话,可以使用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

2021-11-11

2021-11-11