Dev (Back & Front)ARTIGO

Criando um servidor FTP com Python

Semana passada, escrevi um artigo sobre como criar um Daemon HTTP via Python. Hoje, vamos ver como criar um servidor de FTP.

Onde podemos usar e por que fazer um servidor de FTP?

Nos dias de hoje, no mundo LinuxLinux34 conteúdosKali Linux em um Servidor VPS: como, quando e por que usar?DevSecOps · dez 2024Construindo um Windows Service ou Linux Daemon com Worker Service & .NET Core – Parte 2Dev (Back & Front) · jul 2020Criando uma WebApi utilizando .NET, Linux e VSCodeDev (Back & Front) · ago 2019Ver tudo em DevSecOps , temos alguns servidores de FTP muito bons (vsftpd, proftpd e outros), mas quando vamos para o ambiente Microsoft Windows não conheço muitos servidores leves. Por esse motivo, acho muito interessante termos alguma solução para esse ambiente usando Python.

Vou explicar como fazer o daemon, depois vai da criatividade de cada um de como aplicar no dia a dia.

Tenho um cluster de servidores onde rodo sistemas de cliente – a parte de FTP rodava com vsFTPd, hoje está rodando com um daemon em Python, o mesmo que vamos fazer aqui no artigo, só que trabalho com uma base de usuário no MongoDB (usuário, senha e pasta).

Por que eu migrei de vsFTPd para um daemon em Python?

  1. A base de dados onde estão as informações dos meus clientes é MongoDBMongoDB19 conteúdosMongoDB e LGPD: Quais os recursos disponíveis?Data · jul 2019Laravel & MongoDB: saiba mais sobre embedded documentsData · abr 2021LEFT JOIN no MongoDB, não é magia… É Aggregation Framework!!!Data · set 2019Ver tudo em Data , onde estou centralizando todas as informações.
  2. Consigo fazer meu daemon interagir com outros aplicativos Python que rodam no meu servidor

Para escrever este artigo, vamos usar a biblioteca pyftpdlib, que é mantida pelo Giampaolo Rodola.

Fundador da nuveo.ai/levpay (com Banco Rendimento) e Matemático pelo IME-USP. Trabalha no dia a dia com inteligência artificial, rede neural (usando técnicas de machine e deep learning) e visão computacional. Com a necessidade de processar grandes volumes de dados o seu foco de pesquisa e desenvolvimento incluem Go, Racket/Clojure (apaixonado por dialeto lisp), Python, sistemas distribuídos, concorrência e já passou por diversos projetos Open Source https://github.com/avelino.

Ver perfil