Como escrever um script de shell para mover arquivos do servidor FTP para o compartilhamento de rede

1

Tenho clientes que enviam grandes quantidades de dados para o meu servidor FTP (uma máquina Ubuntu 9.10). Uma vez que os arquivos são carregados, eu sou confrontado com a transferência deles para uma unidade de rede Droboshare local para que nossa equipe de suporte técnico possa recuperá-los e analisar o problema.

Depois de montar o compartilhamento de rede em /media/<sharename> , executo esse comando manualmente para obter esses arquivos:

sudo mv /home/ftp/<data_dir>/<file_name> /media/<network_share>/<ftp_user_data>

mas isso leva uma eternidade e, se houver dezenas ou centenas de arquivos, não posso fazer isso de forma realista repetidas vezes. Eu pensei que seria bom ter um script que eu pudesse executar periodaclly para transferir um grupo desses arquivos para o compartilhamento de rede. Posso classificá-los conforme a equipe de suporte técnico os utiliza.

Ainda sou novo no Linux e escrevo scripts de shell. De qualquer forma, para fazer isso facilmente? Apenas para adicionar à descrição aqui, os arquivos podem ser arquivos ZIP , arquivos FASTA , arquivos TAR.GZ e / ou Arquivos TXT . Além disso, se os arquivos ZIP forem grandes, alguns programas de zipagem os convertem em ZIP.001 , ZIP.002 , ZIP.003 etc. .. Então o tipo de arquivo neste diretório FTP pode ser bastante variado.

Eu estava pensando que a maneira que eu posso identificar esses arquivos é simplesmente transferindo TODOS os arquivos no diretório (embora isso possa demorar um pouco) ou designar um subconjunto deles, de acordo com o tempo concluído ou algo assim.

Estou aberto a ideias. Agradecemos antecipadamente.

    
por nicorellius 26.08.2010 / 02:31

3 respostas

5

Por que não apenas tornar a pasta FTP o ponto de montagem real para a unidade de rede? Eu me deparo com um problema semelhante, onde estou constantemente fazendo backup de VirtualMachines em uma máquina Linux para um compartilhamento de rede do Windows (já que a maior parte da infraestrutura da empresa é o Windows). Esta é a minha estrutura:

/media/windows-share é o meu ponto de montagem

Para continuidade, criei um link simbólico no meu aplicativo de backup:

/opt/backup/mnt , portanto, se o ponto de montagem mudar no futuro, meu programa não precisará de uma atualização.

Por fim, eu uso uma pequena ferramenta chamada autofs ( sudo apt-get install autofs ) Esse guia é decente (e até até hoje) - embora eu tenha empregado isso com uma abordagem um pouco diferente no meu blog .

No seu caso, eu criaria um link simbólico onde minha caixa de depósito FTP é ( /home/ftp/<data_dir>/ ) para a pasta de rede apropriada em /media/<network_share>/<ftp_user_data> dessa forma não há perda de tempo na transferência entre discos e os arquivos ficam disponíveis imediatamente.

    
por Marco Ceppi 26.08.2010 / 03:01
4

Para duplicar arquivos daqui para lá (ou até aqui), o rsync é uma serra elétrica do exército suíço que provavelmente fará o que você quer.

    
por msw 26.08.2010 / 03:29
1

Você poderia tentar processar os arquivos assim que eles forem enviados para o FTP, usando uma tecnologia que possa inutilizar. inoticoming é uma ferramenta que você pode usar para isso, veja link .

    
por ℝaphink 26.08.2010 / 07:24