es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtener múltiples archivos más recientes del servidor de SFTP.

Estoy intentando obtener los últimos 50 archivos modificados más recientemente desde un servidor remoto utilizando un shell script de Bash. Actualmente, puedo obtener un archivo mediante sftp utilizando el siguiente código. ¿Cuál es una buena solución para este problema?

No estoy almacenando una “copia” de todos los archivos del servidor remoto en mi servidor. Por lo tanto, no creo que rsync funcione en este contexto.

fileName=$(echo “ls -1tr” | sftp myid@removeserver | tail -1)
echo “get $fileName $local_directory” | sftp myid@removeserver

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Una buena solución para este problema sería usar el comando find en combinación con sftp para obtener los 50 archivos modificados más recientemente en el servidor remoto. Puede usar el siguiente comando para lograr esto:

    find /directorio/remoto -type f -mtime -1 -exec sftp miid@servidorremoto:{} {} \;

    Este comando encontrará todos los archivos en el directorio remoto que han sido modificados en las últimas 24 horas y luego usará sftp para transferirlos al directorio local.

Comments are closed.