Linux/Unix Shell Scripting - Obtener el archivo más reciente de un directorio Remoto por SFTP

 
Vista:
Imágen de perfil de Aniela
Val: 1
Ha disminuido su posición en 8 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Obtener el archivo más reciente de un directorio Remoto por SFTP

Publicado por Aniela (5 intervenciones) el 01/10/2019 20:17:25
De que manera por sftp linux, puedo obtener el archivo mas reciente de un directorio Remoto, para luego descargarlo a mi servidor local¿?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 50
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Obtener el archivo más reciente de un directorio Remoto por SFTP

Publicado por caic (99 intervenciones) el 02/10/2019 10:21:52
Hola,

Una posibilidad es ejecutar un ls vía ssh para obtener el fichero. Algo así:

1
fichero=$(ssh user@host ls -1tr /directorio | tail -1)

NOTA: en el comando anterior, los "1" son el número uno. No la letra "l"

Y luego ya solo tienes que descargar el fichero con sftp.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener el archivo más reciente de un directorio Remoto por SFTP

Publicado por Aniela Loaiza (5 intervenciones) el 03/10/2019 21:01:43
Gracias, pero resulta que el servidor al que me quiero conectar no cuenta con ssh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 50
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Obtener el archivo más reciente de un directorio Remoto por SFTP

Publicado por caic (99 intervenciones) el 07/10/2019 11:05:07
Hola,

googleando un poco he conseguido encontrar una solución que igual te sirve:

Lo primero es guardar en una variable un listado ordenado por fecha de la ruta donde se encuentra el fichero:

1
2
3
4
5
$ listado=$(sftp  user@host <<END
cd directorio
ls -1tr
END
)

NOTA: el 1 del ls es un uno. No la letra "l"

Ahora tomamos el último valor del listado:

1
fichero=$(echo $listado | awk '{print $NF}')

Y ya puedes descargar el fichero:

1
2
3
4
sftp user@host << END
cd directorio
get $fichero
END

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar