Você não pode listar arquivos ou diretórios com TFTP. Leia o primeiro parágrafo do RFC 1350 - 1. Finalidade . (ou melhor ainda, leia todo o documento.)
Se você tiver uma lista de arquivos em files.txt
, use expect
, curl
ou outro para automatizar o download. Exemplo simples (como iniciador) usando curl:
tftpbatch
:
#!/bin/bash
server="tftp://$2"
while IFS= read -r path; do
[[ "$path" =~ ^\ *$ ]] && continue
dir="$(dirname "$path")"
printf "GET %s => %s\n" "$path" "$dir"
! [ -d "$dir" ] && mkdir -p "$dir"
curl -o "$path" "$server/$path"
done < "$1"
Executar com:
./tftpbatch files.txt "10.0.0.5:69"