将文件从 Linux 写入 Windows

将文件从 Linux 写入 Windows

R在本地运行(Windows 10),同时连接到 VPN。在会话期间R,我生成了几个文件,可以使用文件路径将这些文件写入连接的 Windows 服务器

write.csv([r-obj], "//[servername]/path/to/file.csv")

我正在写的对象r-obj在哪里。R

由于 ePHI 的原因,我们在 VPC 内部建立了一个 Redhat AWS AMI,我已RStudio Server v1.1.463在该 AMI 上安装、安装了 git、提取了 repo,并正在通过RStudio Server我在本地使用的相同代码运行。此 AMI 与我们的 VPN 连接到同一网络,ping [servername]当我通过 ssh 进入 Redhat AMI 时,我可以成功。但是,我无法使用上述文件路径写入生成的文件;我不断收到标准R cannot open the connection错误,提示文件路径不正确。

根据我在这里和其他地方(通过谷歌搜索)找到的一些回复,我尝试samba使用

sudo yum install samba

并更新文件路径为

smb://[servername]/path/to/file.csv

并且

smb://[myusername:mypassword]@servername/path/to/file.csv

但我总是收到同样的错误。

我尝试将共享“安装”为

sudo yum install cifs
sudo mount -t cifs //[servername/path /mnt -o user=[myusername]

然后在提示时添加mypassword但仍然没有运气。

我一般不是一名 Linux 用户,而且我对如何自己解决文件路径问题的知识基础也不多。我尝试了一些我发现的更简单的潜在解决方案(见上文)。我没有在 SF 上找到任何针对此问题的特定内容,主要是与来回复制文件相关的问题。

我这样做对吗?我能成功地从 Linux 写入 Windows 吗?我想我可以,而且我怀疑我遗漏了一件简单的事情。请注意,我并不是想手动复制文件,但我有能够直接写入文件而无需任何其他输入的代码。

答案1

如果是我的话,我会在 Linux 机器上设置 SMB 文件夹并将 csv 文件放在那里。

您所要做的就是向 /etc/samba/smb.conf 添加一些配置并重新启动服务,这非常简单。

在 Windows 框中,您可以访问 \IP Address\Share。

答案2

  • SMB 是一种方法,但有时处理不同的版本、权限等会很痛苦。
  • 其他选项是将文件上传到 s3,然后拉到 EC2 实例,但由于您有 VPN 隧道,所以效果并不是很好。
  • 另一个可能是我最喜欢的方法是在 AWS 上配置 EFS 共享,将其安装在您的实例上并通过 NFS 从您的 Windows 机器传输文件。

相关内容