linux服务器读取Windows开发机上文件的几种方式(SAMBA/NFS/RSYNC)

本文介绍了几种跨平台文件共享的方法,包括Windows文件共享、NFS共享及RSYNC共享,并详细探讨了它们各自的优缺点和配置步骤。

此前一直是使用Linux开SAMBA-Server,Windows上挂载网络磁盘编辑。
但是这样在编辑文件,特别是索引的时候比较卡,因此想将代码放在本地。
尝试了几种方案,做记录。

1. Windows文件共享

直接Windows上共享文件夹。设置为Everyone读写。

#首次运行需要,系统默认不装的。不装会提示“出现有坏的超级块”
yum install cifs-utils

#输入你的Windows登录用户名密码
mount -t cifs //172.10.3.233/share /opt/myshare -o username=yt,password=1

挂载后所有文件都有Execute权限。

但是这个模式有两个致命缺点:
1)在共享目录下编译很慢
2)链接无法生成,直接导致开源库编译失败。

2.NFS共享

和Windows共享文件夹差不多,就不细说了。
可以使用haneWIN NFS Server作为服务端。

 mount -t nfs 172.10.3.233:/share -o nolock,tcp 

3. RSYNC共享

在Windows机器上搭建RSYNC服务端。我选了cwRsyncServer。

1. 安装

安装过程中要键入你的登录用户名密码,方便他作为Windows服务启动。否则的话,就会创建新的帐户。
这里写图片描述

安装完毕后,记得设置开机自动启动。
这里写图片描述

2. 修改配置文件

安装完毕后,修改配置文件。去开始菜单找到配置文件。
这里写图片描述

假设我们的代码存储在e:\codes\share目录下。
下面是整个配置文件的样本。注意uid和gid=0必须要加

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
uid = 0
gid = 0
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[myshare]
path = /cygdrive/e/codes/share
read only = true
transfer logging = yes

如果设置readonly=true,就不用做第二步了。反之要选择你配置的目录进行索引操作。
就编辑代码而言,不建议打开可写,否则又会面临链接文件之类的问题。

全部编辑完毕后,需要重启服务生效。

3. 增加请求的Linux服务器名

由于cwRsyncServer在每次收到请求时,会自动进行一次域名解析(这当然是会失败的),然后就要等超时。因此比较简单的办法是将需要连接的机器加入你的hosts文件(C:\Windows\System32\drivers\etc\hosts)。

假设服务器的IP是172.10.10.196,在文件的最下面加入一行即可。

172.10.10.196 172.10.10.196

4. 同步

在Linux服务器上敲下以下命令即可。
如果只要更新部分文件(例如示例中,只更新aaa目录)也可以。

rsync -av rsync://172.10.3.233/myshare/aaa/ /opt/myshare/aaa/

首次更新会全量更新,后面就会增量了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值