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
wget
para el rescate. wget
diseñado para la transferencia y el registro de archivos.