msoliver
(usa Debian)
Enviado em 23/02/2022 - 17:58h
vitorgn escreveu:
Olá, com linux e preciso de uma ajuda com relação a criação de um Shell para baixar arquivos de um servidor FTP, vamos lá:
Tenho uma pasta FTP onde diariamente são criados vários arquivos com nomes diferentes exemplo 00001, 00002, 000003 mas todos com a extensão XML, esses arquivos permanecem no servidor FTP e não são deletados, eu preciso baixar esses arquivos via FTP varias vezes ao dia porem não posso trazer os mesmos arquivos todo vez somente os os últimos criados. Montei mais ou menos um Shell com o básico, mas como disse dessa forma sempre vou baixar todo o conteúdo da pasta, e não encontrei nenhuma foram de renomear vários arquivos nem move-los para uma outra pasta para que não sejam baixados novamente poderiam me ajudar com essa questão se existe alguma forma de fazer isso?
#!/bin/bash
ftp -niv 999.999.9.99 <<FIM
user usuario senha
passive off
cd arquivos
get *.XML
bye
Boa tarde Vitor, seguem sugestões:
conecte no server, via ssh, execute
ls -1 arquivos/*.XML > Lista_Server.txt
copie o arquivo gerado, para a pasta local
Execute no bash, na pasta que tem os arquivos baixados do Server
while read arq;do
[ ! -e $arq ] && echo "$arq" >> baixar_arqs.txt;
done<Lista_Server.txt
Outra Opção:
Na pasta que tem arquivos baixados do Server, execute:
ls -1 *.XML > Lista_Local.txt
Execute no bash:
diff Lista_Server.txt Lista_Local.txt|awk 'NF==2{print $2}' >> baixar_arqs.txt
+ uma opção, estando na pasta que tem arquivos baixados do Server,
Execute:
for arq in *.XML;do
grep "$arq" Lista_Server.txt && sed -i "/$arq/d;" Lista_Server.txt;
done
Após a ultima opção,
Lista_Server.txt, terá somente o que deve ser baixado.
É isso...
______________________________________________________________________
Importante:
lynx --dump
https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando:
ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________