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
davy.ai
Una buena solución para este problema sería usar el comando
find
en combinación consftp
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.