RH 7.5 Linux usa curl con sftp para extraer múltiples archivos que terminan en una extensión de archivo particular

RH 7.5 Linux usa curl con sftp para extraer múltiples archivos que terminan en una extensión de archivo particular

Estoy en un entorno Red Hat Linux 7.5. Estoy intentando escribir un script curl para extraer/recibir cualquier archivo de una carpeta que termine con una extensión de archivo particular.

Anteriormente, escribí un script para enviar/enviar usando curl con ftps (NO SFTP) opción, inicio de sesión y contraseña, registro de seguimiento completo y 2>&1 para cualquier otro error. Pude escribir eso porque los nombres de archivos eran locales y podían ser rastreados por alguna lógica de script.

Básicamente, mi declaración curl para enviar es esta(No, esas no son referencias reales en la cadena, cambié esos valores por privacidad).:

curl --ftp-ssl -k --trace /bedrock/fred/logs/sendpdf.log -T /bedrock/fred/brontosaurussteak.pdf -u fflintstn:H4s$anC#0P ftp://bedrockpoobalodge.com:27Memebers/fredflintstone/pdffiles/ >> /bedrock/fred/logs/transfer.log

Donde todas las referencias anteriores están en un script y las referencias a las rutas y demás se colocan en variables en un bucle que procesa cientos de archivos cada hora en punto. Se parece a esto en el script de trabajo:

curl $curlFTPC $curlTRCMD\_$trFlCntr\_$cntnt.txt $curlSF/$file $curlAHaD &>> $prcssLgFl

Es un asunto completamente diferente cuando no conoce los nombres de archivos que extraerá/recibirá.

He visto muchos ejemplos que se repiten basándose en una 'evaluación de curl' como este:

for i in $(curl https://someserver.com/alpha/beta/gamma/  | grep pdf | awk -F "=" '{print $2}' | jq '.[].full_path' | awk -F '"' '{printf("https://someserver.com/alpha/beta/gamma/%s\n",$2)}')

Pero parece que no puedo hacer que algo como esto funcione para extraer/recibir bajo el mismo protocolo y autenticación. Estoy seguro de que me estoy perdiendo algo obvio.

Estoy abierto a una solución o incluso alternativas siempre que sea compatible con secuencias de comandos en bash y no utilice Expect,puede usar sftpY puedo tener un seguimiento completo y un registro de stdin, stdout y stderr.

No estoy dispuesto a usar 'Esperar'.

Respuesta1

wgetpara el rescate. wgetdiseñado para la transferencia y el registro de archivos.

información relacionada