Você provavelmente precisará usar algo mais sofisticado. O próprio FTP (se bem me lembro) não é capaz de transferir diretórios inteiros, tudo o que ele sabe é transferir um arquivo. Assim, o cliente tem que traduzir o seu pedido "enviar este diretório" para uma seqüência de upload deste arquivo (possivelmente precedido por fazer este diretório ).
Um desses clientes sofisticados é lftp
(veja também Wikipedia ), seu comando mirror -R
deve fazer o trabalho.
( ncftp
's ncftpput
tem um sinal -R
para isso também.)
Editar Claro que você também pode fazer um upload recursivo com find
e curl
' --ftp-create-dirs
bandeira. .