Existem muitas implementações ftp
diferentes. Eu não sei de nenhum programa ftp
que tenha um comando mget
que verifique arquivos locais antes de fazer o download.
Existem muitos programas que podem baixar arquivos por FTP e que possuem o que você deseja.
-
lftp ftp.example.com <<EOF mirror --only-missing --file=/path/to/*.ext . EOF
Substitua
--only-missing
por--only-newer
para baixar apenas arquivos mais recentes. -
wget -nc 'ftp://ftp.example.com/path/to/*.ext'
Adicione a opção
-N
para baixar apenas arquivos mais recentes.
Alternativamente, e esta é a melhor solução para fazer coisas complexas, montar o sistema de arquivos remoto e, em seguida, usar ferramentas normais de manipulação de arquivos. Você pode montar um diretório FTP com o CurlFtpFS .
mkdir mnt
curlftpfs ftp://ftp.example.com/ mnt
rsync -a --ignore-existing mnt/*.ext . # replace --ignore-existing by -u to download only newer files
fusermount -u mnt