1 votos

Escribiendo un archivo de Linux a Windows

Me estoy quedando R localmente (Windows 10) mientras está conectado a una VPN. Durante una R sesión, estoy generando varios archivos que puedo escribir para la conexión de un servidor de Windows mediante el uso de la ruta de acceso del archivo

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

donde r-obj es el R objeto de que estoy escribiendo.

Porque de ePHI razones, hemos levantó un Redhat AWS IAM dentro de nuestro VPC y he instalado RStudio Server v1.1.463 de la AMI, instalado git, sacó de la repo, y estoy ejecutando el mismo código a través de RStudio Server que yo estaba usando a nivel local. Este AMI está conectado a la misma red que nuestro VPN y puedo ping [servername] correctamente, mientras que yo soy ssh había en el Redhat AMI. Sin embargo, no puedo usar el de arriba ruta del archivo a escribir los archivos generados; me sale un estándar R cannot open the connection de error que sugiere que la ruta del archivo es incorrecto.

Basado en algunas de las respuestas que he encontrado aquí y en otros lugares (a través de Google), he intentado utilizar samba a través de

sudo yum install samba

y la actualización de la ruta del archivo a ser

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

y también

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

pero sigo obteniendo el mismo error.

Traté de "montaje" la participación como

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

a continuación, añadiendo mypassword cuando se le pida, pero no ha habido suerte.

Yo no soy generalmente un usuario de Linux y no tengo mucho conocimiento de la base con la forma de resolver la ruta problema por mi cuenta. He probado algunos de los más simples posibles soluciones que he encontrado (ver arriba). No he encontrado nada en SF específica para este problema, más que nada por cuestiones relacionadas con la copia de archivos de ida y vuelta.

Voy a hacer acerca de esto de la manera correcta? Puedo escribir desde Linux a Windows correctamente? Sospecho que me puede y me imagino que hay una cosa que me estoy perdiendo. Por favor, tenga en cuenta que no estoy tratando de copiar manualmente un archivo, pero tengo un código que debe ser capaz de escribir directamente a un archivo sin ninguna información adicional.

1voto

Wayne Bunch Puntos 26

Si fuera yo, configuraría la carpeta SMB en la caja de Linux y tendría los archivos csv allí.

Todo lo que tendría que hacer es agregar alguna configuración a /etc/samba/smb.conf y reiniciar el servicio, que es bastante sencillo.

Desde el cuadro de Windows, puede acceder a \ Dirección IP \ Compartir.

0voto

bert wiedmann Puntos 11
  • SMB es una forma de hacerlo, pero a veces puede ser doloroso tratar con diferentes versiones, permisos, etc.
  • Otra opción es cargar sus archivos a s3 y luego extraerlos a la instancia de EC2, pero ya que tiene un túnel VPN no es realmente óptimo.
  • Otro y, probablemente, mi favorito es aprovisionar el recurso compartido de EFS en AWS, montarlo en su instancia y transferir archivos a través de NFS desde sus máquinas Windows.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: