RH 7.5 Linux usando curl com sftp para extrair vários arquivos terminando em uma extensão de arquivo específica

RH 7.5 Linux usando curl com sftp para extrair vários arquivos terminando em uma extensão de arquivo específica

Estou em um ambiente Red Hat Linux 7.5. Estou tentando escrever um script curl para extrair/receber qualquer arquivo de uma pasta que termine com uma extensão de arquivo específica.

Anteriormente, escrevi um script para enviar/enviar usando curl com o ftps (NÃO SFTP), login e senha, registro de rastreamento completo e 2>&1 para quaisquer outros erros. Consegui criar um script porque os nomes dos arquivos eram locais e podiam ser usados ​​por alguma lógica de script.

Basicamente, minha declaração curl para enviar é esta(Não, essas não são referências reais na string, alterei esses valores para privacidade.):

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

Onde todas as referências acima estão em um script e as referências aos caminhos e outros enfeites são colocadas em variáveis ​​​​em um loop processando centenas de arquivos a cada hora. Parece algo assim no script de trabalho:

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

É uma questão completamente diferente quando você não sabe os nomes dos arquivos que irá extrair/receber.

Eu vi muitos exemplos que fazem loop com base em uma 'avaliação curl' como esta:

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)}')

Mas simplesmente não consigo fazer algo assim funcionar para receber/receber sob o mesmo protocolo e autenticação. Tenho certeza de que estou perdendo algo óbvio.

Estou aberto a uma solução ou mesmo alternativas, desde que seja possível scriptar no bash e não esteja usando o Expect,pode usar sftpE posso ter um rastreamento completo e registro de stdin, stdout e stderr.

Não estou aberto a usar 'Expect'.

Responder1

wgetpara o resgate. wgetprojetado para transferência de arquivos e registro.

informação relacionada