首页 > 系统 > Linux > 正文

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

2024-06-28 15:59:43
字体:
来源:转载
供稿:网友

此前一直是使用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 = falsestrict modes = falsehosts allow = *log file = rsyncd.loguid = 0gid = 0# Module definitions# Remember cygwin naming conventions : c:/work becomes /cygwin/c/work#[myshare]path = /cygdrive/e/codes/shareread only = truetransfer 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/

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表