Diferencia entre revisiones de «Tutorial de acceso a archivos»

De NLHPC
Sin resumen de edición
 
(No se muestran 24 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
__TOC__
== Acceso a los archivos usuario desde Windows ==
== Acceso a los archivos usuario desde Windows ==
Desde Windows, se recomienda usar el programa FileZilla para poder copiar, mover y borrar archivos de Leftraru.
Desde Windows, se recomienda usar el programa [https://filezilla-project.org/ FileZilla] para poder copiar, mover y borrar archivos en su directorio personal dentro del clúster del NLHPC.
 
Una vez descargado e instalado el programa de la web [https://filezilla-project.org/download.php?platform=win64 (enlace descarga)], debe iniciarlo y completar los siguientes datos según se muestra en la imagen.:
 
* Servidor: sftp://leftraru.nlhpc.cl
* Usuario: el nombre de usuario de su cuenta en el clúster
* Contraseña: su contraseña
* Puerto: 4603
 
Y puede pulsar en el botón de conexión rápida.


Una vez descargado e instalado el programa de la web (enlace descarga), debe iniciarlo y completar los siguientes datos según se muestra en la imagen. De izquierda a derecha, según marcan las flechas rojas, debe ingresar el nombre del servidor (leftraru.nlhpc.cl), su nombre de usuario, contraseña, puerto (22) y pulsar conexión rápida. Entonces en el panel de la izquierda tendrá sus carpetas y archivos locales y en el de la derecha los de su usuario en Leftraru. En ese momento puede arrastrar y soltar archivos y carpetas para que se realice la copia, tanto en un sentido como en el otro.
En el siguiente ejemplo es posible ver la sección que se ha completado resaltada por el usuario Dave Bowman (nombre de usuario dbowman). En el panel inferior derecho se ve el contenido de su carpeta local y en el panel izquierdo se visualizará el contenido remoto que el usuario posee en el clúster. Esto le permitirá copiar sus archivos y carpetas arrastrando el contenido entre su equipo local y remoto.


[[Archivo:Filezilla-dbowman.png|no]]


Login filezilla.png
=== Problemas de conectividad ===
 
Se ha visto que usuarios no pueden utilizar FileZilla y '''rsync''' cuando definen variables de entorno en sus archivos '''~/.bashrc'''. A modo de recomendación es preferible que edite su archivo '''.bash_profile''' para incluir comandos y configuraciones personalizadas.
 
Por lo tanto, invitamos a los usuarios a verificar sus configuraciones personalizadas al momento de detectar este tipo de situaciones.


== Acceso a los archivos usuario desde Linux/Mac ==
== Acceso a los archivos usuario desde Linux/Mac ==
En caso de que use el sistema operativo Linux o Mac, puede usar también el programa fileZilla, ya que también está disponible para estas plataformas. La forma de configuración es idéntica a la anterior para el sistema Windows. La descarga se puede realizar desde aquí: descarga fileZilla
 
=== Filezilla ===
 
En caso de que use el sistema operativo Linux o Mac, puede usar también el programa fileZilla, ya que también está disponible para estas plataformas. La forma de configuración es idéntica a la anterior para el sistema Windows. La descarga se puede realizar desde aquí: [https://filezilla-project.org/download.php?type=client descarga fileZilla]
 
=== scp ===
 
El comando <code>scp</code> permite copiar archivos desde su máquina personal a su carpeta personal en el clúster y viceversa. El uso de este comando requiere los siguientes parámetros:
* Puerto: en nuestro caso es el parámetro <code>-P 4603</code>
* Ruta de origen: puede ser un directorio local como <code>~/Descargas</code> o remoto como <code>dbowman@leftraru.nlhpc.cl:~/Scripts/</code>
* Ruta de destino: puede ser un directorio local como <code>~/Descargas</code> o remoto como <code>dbowman@leftraru.nlhpc.cl:~/Scripts/</code>
 
En el caso de los parámetros de Ruta de origen/destino, puede ser un directorio local o remoto. En el caso de ser remoto se utiliza la combinación <code>usuario@host.remoto:/ruta/a/directorio</code>.
 
Por ejemplo, el usuario Dave Bowman (nombre de usuario dbowman) quiere copiar un archivo '''desde''' su máquina personal '''hacia''' el clúster, puede ejecutar:
 
scp -P 4603 /home/dave/mis_archivos/archivo dbowman@leftraru.nlhpc.cl:/home/dbowman/direcotorio/remoto/destino/
 
Para copiar un archivo '''desde''' el clúster '''hacia''' su computadora local puede ejecutar en su computadora:
 
scp -P 4603 dbowman@leftraru.nlhpc.cl:/home/dbowman/direcotorio/remoto/archivo home/dave/mis_archivos/
 
Si desea copiar directorios, debe utilizar el parámetro <code>-r</code>.
 
Para copiar un directorio '''desde''' su coputadora local '''hacia''' el clúster (mi directorio -> leftraru):
 
scp -r -P 4603 /home/dave/mi_directorio dbowman@leftraru.nlhpc.cl:/home/dbowman/
 
Para copiar un directorio '''desde''' el clúster '''hacia''' su computadora local (leftraru -> mi directorio):
 
scp -r -P 4603 dbowman@leftraru.nlhpc.cl:/home/dbowman/mi_directorio /home/dave/mis_descargas/
 
'''Los comandos <code>scp</code> indicados aquí se ejecutan en su computadora local.'''


=== rsync ===
=== rsync ===
Adicionalmente, puede usarse "rsync" sobre "ssh" para realizar la sincronización entre carpetas locales y remotas. Esto es muy útil ya que le permite solo sincronizar los cambios entre dichas carpetas, sin copiar cada vez el contenido.


Por ejemplo, si quiere sincronizar el contenido de la "carpeta_local" con la "carpeta_remota" en la raíz de su "home" en Leftraru, el comando a usar podría ser este (cambiando los dos sitios donde aparece "usuario" por su nombre de usuario del sistema):
Adicionalmente, puede utilizar <code>rsync</code> sobre <code>ssh</code> para realizar la sincronización entre carpetas locales y remotas. Esto es muy útil ya que le permite solo sincronizar los cambios entre dichas carpetas, evitando copiar el contenido que ya haya sido copiado y no presenten modificaciones.
 
Por ejemplo, si quiere sincronizar el contenido de su "directorio_local" con "directorio_remoto" en la raíz de su "home" en el clúster, el comando a usar sería:
 
rsync -avz -e "ssh -p 4603"  /directorio_local/ usuario@leftraru.nlhpc.cl:/directorio_remote/
 
En caso de querer realizar la sincronización a la inversa (desde el clúster a su máquina local):
 
rsync -avz -e "ssh -p 4603" usuario@leftraru.nlhpc.cl:/directorio_remote/ /directorio_local/
 
Tenga en cuenta que se debe indicar de manera explícita el uso de '''ssh''' usando el puerto '''4603''' y luego indicar los parámetros de "origen" y "destino" de la sincronización. Siempre se realiza la escritura en "destino", pero nunca se borra nada a no ser que especifique la opción "--del", entonces si un archivo se borró en origen, también es borrado en destino.
 
Es importante poner la barra "/" al final del nombre del directorio para que sincronice el contenido de las dos carpetas. De no ser así, '''rsync''' entiende que es el directorio en sí la que tiene que sincronizarse, no su contenido. Es decir, que si en el primer ejemplo se omitiera la barra en "directorio_local", dicho directorio sería copiada dentro de "directorio_remoto", a no ser que ya existiera en "directorio_remoto" una carpeta llamada "directorio_local", en cuyo caso se sincronizaría. La regla general es poner siempre barras al final de los nombres de directorio a sincronizar, para sincronizar el contenido.
 
El comando rsync permite configuración mucho más sofisticadas que le permiten tener un control exhaustivo de la sincronización. Si desea más información sobre este comando, consulte la siguiente [https://linux.die.net/man/1/rsync documentación rsync]
 
== Descarga de archivos con WGET ==
 
Para la Descarga de archivos mediante el comando '''wget''', lo que resulta útil para descargar archivos desde sitios web como repositorios Git desde su cuenta en Leftraru.
 
Para esto es posible utilizar la siguiente sintáxis:
 
<pre>
wget -c --user USER --password PASSWORD URL
</pre>
 
En este caso, el parámetro utilizado por '''wget''' son los siguientes:
 
* '''-c''' (opcional): permite continuar descargas que hayan sido interrumpidas
* '''--user USER''' (opcional): reemplazando ''USER'' por el nombre de usuario a utilizar para descargas que requieran autenticación
* '''--password PASSWORD''' (opcional): reemplazando ''PASSWORD'' por la contraseña a utilizar para descargas que requieran autenticación
* '''URL''' (mandatoria): indica la URL desde la que queremos realizar nuestra descarga
 
=== Ejemplo de descarga ===
 
Si queremos descargar desde GitHub la versión 3.3.a de '''tmux''', podemos ejecutar desde nuestra cuenta:
 
ml wget
wget https://github.com/tmux/tmux/archive/refs/tags/3.3a.tar.gz
 
Y en el directorio en en que nos encontremos, veremos que se ha descargado el archivo <code>tmux-3.3a.tar.gz</code>.
 
=== Ayuda con <code>wget</code> ===
Puede obtener más información del comando '''wget''' ejecutando uno de los siguientes comandos:
 
<pre>
wget --help
man wget
</pre>
 
Para descargas de varios archivos con '''wget''' recomendamos la lectura de https://www.baeldung.com/linux/wget-parallel-downloading
 
=== WGET y SLURM ===


  rsync -avzh  /carpeta_local/ usuario@leftraru.nlhpc.cl:/carpeta_remota/
Para ejecutar trabajos de descarga con nuestro gestor de tareas, recomendamos utilizar un script similar al siguiente:
En caso de querer realizar la sincronización a la inversa (desde Leftraru a su máquina local):


  rsync -avzh usuario@leftraru.nlhpc.cl:/carpeta_remota/ /carpeta_local/
<pre>
Tenga en cuenta que el primer parámetro siempre es el "origen" y el segundo el "destino" de la sincronización. Siempre se realiza la escritura en "destino", pero nunca se borra nada a no ser que especifique la opción "--del", entonces si un archivo se borró en origen, también es borrado en destino.
#!/bin/bash
#SBATCH -J wgetDownload
#SBATCH -p general
#SBATCH -c 1
#SBATCH -n 1
#SBATCH --mem-per-cpu=500
#SBATCH --mail-user=foo@example.com
#SBATCH --mail-type=ALL
#SBATCH --output=wgetDownload_%j.out
#SBATCH --error=wgetDownload_%j.err


Es importante poner la barra "/" al final del nombre de la carpeta para que sincronice el contenido de las dos carpetas. De no ser así, rsync entiende que es la carpeta en sí la que tiene que sincronizarse, no su contenido. Es decir, que si en el primer ejemplo se omitiera la barra en "carpeta_local", dicha carpeta sería copiada dentro de "carpeta_remota", a no ser que ya existiera en "carpeta_remota" una carpeta llamada "carpeta_local", en cuyo caso se sincronizaría. La regla general es poner siempre barras al final de los nombres de carpeta a sincronizar (para que así se sincronice su contenido).
wget -c --user USER --password PASSWORD URL
</pre>


El comando rsync permite configuración mucho más sofisticadas que le permiten tener un control exhaustivo de la sincronización. Si desea más información sobre este comando, consulte la siguiente documentación rsync
Vea que la asignación de memoria es baja, para evitar que dicha tarea sea cancelada, ya que la copia de archivos utilizará muy pocos recursos de cómputo. Recuerde considerar la carga del clúster para seleccionar una partición adecuada para este tipo de tareas.

Revisión actual - 14:07 20 nov 2024

Acceso a los archivos usuario desde Windows

Desde Windows, se recomienda usar el programa FileZilla para poder copiar, mover y borrar archivos en su directorio personal dentro del clúster del NLHPC.

Una vez descargado e instalado el programa de la web (enlace descarga), debe iniciarlo y completar los siguientes datos según se muestra en la imagen.:

  • Servidor: sftp://leftraru.nlhpc.cl
  • Usuario: el nombre de usuario de su cuenta en el clúster
  • Contraseña: su contraseña
  • Puerto: 4603

Y puede pulsar en el botón de conexión rápida.

En el siguiente ejemplo es posible ver la sección que se ha completado resaltada por el usuario Dave Bowman (nombre de usuario dbowman). En el panel inferior derecho se ve el contenido de su carpeta local y en el panel izquierdo se visualizará el contenido remoto que el usuario posee en el clúster. Esto le permitirá copiar sus archivos y carpetas arrastrando el contenido entre su equipo local y remoto.

Filezilla-dbowman.png

Problemas de conectividad

Se ha visto que usuarios no pueden utilizar FileZilla y rsync cuando definen variables de entorno en sus archivos ~/.bashrc. A modo de recomendación es preferible que edite su archivo .bash_profile para incluir comandos y configuraciones personalizadas.

Por lo tanto, invitamos a los usuarios a verificar sus configuraciones personalizadas al momento de detectar este tipo de situaciones.

Acceso a los archivos usuario desde Linux/Mac

Filezilla

En caso de que use el sistema operativo Linux o Mac, puede usar también el programa fileZilla, ya que también está disponible para estas plataformas. La forma de configuración es idéntica a la anterior para el sistema Windows. La descarga se puede realizar desde aquí: descarga fileZilla

scp

El comando scp permite copiar archivos desde su máquina personal a su carpeta personal en el clúster y viceversa. El uso de este comando requiere los siguientes parámetros:

  • Puerto: en nuestro caso es el parámetro -P 4603
  • Ruta de origen: puede ser un directorio local como ~/Descargas o remoto como dbowman@leftraru.nlhpc.cl:~/Scripts/
  • Ruta de destino: puede ser un directorio local como ~/Descargas o remoto como dbowman@leftraru.nlhpc.cl:~/Scripts/

En el caso de los parámetros de Ruta de origen/destino, puede ser un directorio local o remoto. En el caso de ser remoto se utiliza la combinación usuario@host.remoto:/ruta/a/directorio.

Por ejemplo, el usuario Dave Bowman (nombre de usuario dbowman) quiere copiar un archivo desde su máquina personal hacia el clúster, puede ejecutar:

scp -P 4603 /home/dave/mis_archivos/archivo dbowman@leftraru.nlhpc.cl:/home/dbowman/direcotorio/remoto/destino/

Para copiar un archivo desde el clúster hacia su computadora local puede ejecutar en su computadora:

scp -P 4603 dbowman@leftraru.nlhpc.cl:/home/dbowman/direcotorio/remoto/archivo home/dave/mis_archivos/

Si desea copiar directorios, debe utilizar el parámetro -r.

Para copiar un directorio desde su coputadora local hacia el clúster (mi directorio -> leftraru):

scp -r -P 4603 /home/dave/mi_directorio dbowman@leftraru.nlhpc.cl:/home/dbowman/

Para copiar un directorio desde el clúster hacia su computadora local (leftraru -> mi directorio):

scp -r -P 4603 dbowman@leftraru.nlhpc.cl:/home/dbowman/mi_directorio /home/dave/mis_descargas/

Los comandos scp indicados aquí se ejecutan en su computadora local.

rsync

Adicionalmente, puede utilizar rsync sobre ssh para realizar la sincronización entre carpetas locales y remotas. Esto es muy útil ya que le permite solo sincronizar los cambios entre dichas carpetas, evitando copiar el contenido que ya haya sido copiado y no presenten modificaciones.

Por ejemplo, si quiere sincronizar el contenido de su "directorio_local" con "directorio_remoto" en la raíz de su "home" en el clúster, el comando a usar sería:

rsync -avz -e "ssh -p 4603"  /directorio_local/ usuario@leftraru.nlhpc.cl:/directorio_remote/

En caso de querer realizar la sincronización a la inversa (desde el clúster a su máquina local):

rsync -avz -e "ssh -p 4603" usuario@leftraru.nlhpc.cl:/directorio_remote/ /directorio_local/

Tenga en cuenta que se debe indicar de manera explícita el uso de ssh usando el puerto 4603 y luego indicar los parámetros de "origen" y "destino" de la sincronización. Siempre se realiza la escritura en "destino", pero nunca se borra nada a no ser que especifique la opción "--del", entonces si un archivo se borró en origen, también es borrado en destino.

Es importante poner la barra "/" al final del nombre del directorio para que sincronice el contenido de las dos carpetas. De no ser así, rsync entiende que es el directorio en sí la que tiene que sincronizarse, no su contenido. Es decir, que si en el primer ejemplo se omitiera la barra en "directorio_local", dicho directorio sería copiada dentro de "directorio_remoto", a no ser que ya existiera en "directorio_remoto" una carpeta llamada "directorio_local", en cuyo caso se sincronizaría. La regla general es poner siempre barras al final de los nombres de directorio a sincronizar, para sincronizar el contenido.

El comando rsync permite configuración mucho más sofisticadas que le permiten tener un control exhaustivo de la sincronización. Si desea más información sobre este comando, consulte la siguiente documentación rsync

Descarga de archivos con WGET

Para la Descarga de archivos mediante el comando wget, lo que resulta útil para descargar archivos desde sitios web como repositorios Git desde su cuenta en Leftraru.

Para esto es posible utilizar la siguiente sintáxis:

wget -c --user USER --password PASSWORD URL

En este caso, el parámetro utilizado por wget son los siguientes:

  • -c (opcional): permite continuar descargas que hayan sido interrumpidas
  • --user USER (opcional): reemplazando USER por el nombre de usuario a utilizar para descargas que requieran autenticación
  • --password PASSWORD (opcional): reemplazando PASSWORD por la contraseña a utilizar para descargas que requieran autenticación
  • URL (mandatoria): indica la URL desde la que queremos realizar nuestra descarga

Ejemplo de descarga

Si queremos descargar desde GitHub la versión 3.3.a de tmux, podemos ejecutar desde nuestra cuenta:

ml wget
wget https://github.com/tmux/tmux/archive/refs/tags/3.3a.tar.gz

Y en el directorio en en que nos encontremos, veremos que se ha descargado el archivo tmux-3.3a.tar.gz.

Ayuda con wget

Puede obtener más información del comando wget ejecutando uno de los siguientes comandos:

wget --help
man wget

Para descargas de varios archivos con wget recomendamos la lectura de https://www.baeldung.com/linux/wget-parallel-downloading

WGET y SLURM

Para ejecutar trabajos de descarga con nuestro gestor de tareas, recomendamos utilizar un script similar al siguiente:

#!/bin/bash
#SBATCH -J wgetDownload
#SBATCH -p general
#SBATCH -c 1
#SBATCH -n 1
#SBATCH --mem-per-cpu=500
#SBATCH --mail-user=foo@example.com
#SBATCH --mail-type=ALL
#SBATCH --output=wgetDownload_%j.out
#SBATCH --error=wgetDownload_%j.err

wget -c --user USER --password PASSWORD URL

Vea que la asignación de memoria es baja, para evitar que dicha tarea sea cancelada, ya que la copia de archivos utilizará muy pocos recursos de cómputo. Recuerde considerar la carga del clúster para seleccionar una partición adecuada para este tipo de tareas.