Запись файла из Linux в Windows

Я запускаю R локально (Windows 10) при подключении к VPN. Во время сеанса R я генерирую несколько файлов, которые могу записать на подключенный сервер Windows, используя путь к файлу

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

, где r-obj - это объект R , который я пишу.

По причинам, связанным с ePHI, мы установили Redhat AWS AMI внутри нашего VPC, и я установил RStudio Server v1.1.463 на этом AMI, установил git, вытащил репо, и я запускаю тот же код через RStudio Server , который я использовал локально. Этот AMI подключен к той же сети, что и наш Мы с VPN можем успешно ping [имя сервера] , пока я подключился к Redhat AMI по ssh. Однако я не могу использовать указанный выше путь к файлу для записи сгенерированных файлов; я продолжаю получать стандартный R не может открыть ошибку соединения , которая предполагает, что путь к файлу неверен.

Основываясь на некоторых ответах, которые я нашел здесь и в других местах (через Google), я попытался использовать самбу через

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
задан 4 February 2019 в 20:47
2 ответа
  • SMB - один из способов сделать это, но иногда бывает больно иметь дело с разными версиями, разрешениями и т.д.
  • Другой вариант - загрузить файлы в s3, а затем потянуть в EC2 экземпляр, но так как у вас есть VPN туннель, это не совсем оптимально.
  • Еще одним и, вероятно, моим любимым вариантом является предоставление EFS ресурса на AWS, монтирование его на вашем экземпляре и передача файлов через NFS с ваших windows машин.
0
ответ дан 3 December 2019 в 23:08

На моем месте, я бы установил SMB папку на коробке Linux и имел бы там csv файлы.

Все, что вам нужно было бы сделать, это добавить некоторую конфигурацию в /etc/samba/smb.conf и перезапустить службу, что довольно просто.

Из окна Windows вы можете получить доступ к нему \IP Address\Share.

.
1
ответ дан 3 December 2019 в 23:08

Теги

Похожие вопросы