Eu preciso copiar dados programaticamente de um servidor FTP com rclone
. A configuração é tão simples quanto:
[exampleftp]
type = ftp
host = ftp.example.com
user = myuser
pass = mypass
Se eu tentar copiar qualquer coisa, recebo:
Failed to create file system for "exampleftp:/": NewFs: failed to make FTP connection to "ftp.example.com:21": UTF8 support on
Despejar a troca de protocolo mostra:
$ rclone --config=rclone.conf ls exampleftp: -vv --dump bodies
DEBUG : Using config file from "rclone.conf"
DEBUG : rclone: Version "v1.55.1-DEV" starting with parameters ["rclone" "--config=rclone.conf" "ls" "exampleftp:" "-vv" "--dump" "bodies"]
DEBUG : Creating backend with remote "exampleftp:"
DEBUG : ftp://ftp.example.com:21: Connecting to FTP server
DEBUG : FTP Rx: "220 Welcome to the example FTP Server."
DEBUG : FTP Tx: "USER myuser"
DEBUG : FTP Rx: "331 User myuser, password please"
DEBUG : FTP Tx: PASS *****
DEBUG : FTP Rx: "230 Password Ok, User logged in"
DEBUG : FTP Tx: "FEAT"
DEBUG : FTP Rx: "211- Additional features supported include:"
DEBUG : FTP Rx: " MDTM"
DEBUG : FTP Rx: " MFCT"
DEBUG : FTP Rx: " MFMT"
DEBUG : FTP Rx: " SIZE"
DEBUG : FTP Rx: " REST STREAM"
DEBUG : FTP Rx: " AUTH TLS"
DEBUG : FTP Rx: " AUTH SSL"
DEBUG : FTP Rx: " PBSZ"
DEBUG : FTP Rx: " EPRT"
DEBUG : FTP Rx: " EPSV"
DEBUG : FTP Rx: " XCRC"
DEBUG : FTP Rx: " XSHA1"
DEBUG : FTP Rx: " XSHA256"
DEBUG : FTP Rx: " XSHA512"
DEBUG : FTP Rx: " XMD5"
DEBUG : FTP Rx: " HASH SHA-256;SHA-512;SHA-1*;MD5"
DEBUG : FTP Rx: " PROT"
DEBUG : FTP Rx: " LANG EN*"
DEBUG : FTP Rx: " SITE PSWD"
DEBUG : FTP Rx: " SITE ZONE"
DEBUG : FTP Rx: " SITE UTIME"
DEBUG : FTP Rx: " MODE Z ZLIB(LEVEL)"
DEBUG : FTP Rx: " MLST Type*;Size*;Modify*;Create*;"
DEBUG : FTP Rx: " CLNT"
DEBUG : FTP Rx: " CSID"
DEBUG : FTP Rx: " RMDA"
DEBUG : FTP Rx: " UTF8"
DEBUG : FTP Rx: "211 End"
DEBUG : FTP Tx: "TYPE I"
DEBUG : FTP Rx: "200 Type Binary"
DEBUG : FTP Tx: "OPTS UTF8 ON"
DEBUG : FTP Rx: "220 UTF8 support on"
DEBUG : FTP Tx: "QUIT"
Failed to create file system for "exampleftp:": NewFs: failed to make FTP connection to "ftp.example.com:21": UTF8 support on
Para mim, isso parece dizer:
- Servidor: "Eu apoio UTF8"
- Cliente: "Ótimo, então use UTF8"
- Servidor: "Claro, aqui está"
- Cliente: "Err, eu preciso ir. Tchau."
Tudo funciona bem com outro cliente, como lftp
. No entanto, preferiria usar rclone
, pois isso faria parte de uma estrutura pré-configurada para rclone
.
Alguém sabe o que está acontecendo e alguma solução alternativa?
Parece ser um bug na biblioteca FTP usada pelo
rclone
. A biblioteca espera200
o código de retorno, mas seu servidor envia arquivos220
. Você provavelmente quer abrir um problema aqui . Ou talvez com seu fornecedor de software de servidor FTP como UTF-8 Opção para listas de especificações de FTP200
apenas o código de retorno como válido para um estado bem-sucedido.