ncftp é um grande conjunto de utilitários de linha de comando FTP. Ele suporta um cliente FTP, bem como utilitários para buscar arquivos em lotes.
Veja como usar ncftpput para carregar um arquivo:
ncftpput -RF -u usuario -p senha ftp.nomeservidor.com.br pasta/remota/destino pasta/local/arquivo
Baixando arquivos via FTP
ncftpget -T -R -v -u user -p pass ftp.domain.com <ftp://ftp.domain.com> /dir_local /dir_remoto
Flags:
-f : Lê X arquivo com host, usuário e senha;
-m : Tenta criar diretório de destino remoto andes de copiar;
-R : Modo recursivo, copia um árvore de diretórios inteiro;
-v : Modo verbose. Mostra a progressão na tela;
-Z : Não tenta retomar a transferência;
-F : Usa conexão de dados passiva (PASV).
Mais: http://www.vivaolinux.com.br/dica/NCFTP-Upload-recursivo-via-FTP-em-apenas-uma-linha/