Загрузка файлов по FTP, имена и местоположение которых содержатся в текстовом файле

Загрузка файлов по FTP, имена и местоположение которых содержатся в текстовом файле

У меня есть текстовый файл с именами файлов и их путями, например

список.txt

/dirA/fileA.bin
/dirB/fileC.txt
/dirB/fileD.txt
(...and so on)

Как я могу загрузить эти файлы через FTP в место назначения, которое уже имеет древовидную структуру, соответствующую источникам, например, источник, /dirA/fileA.binкоторый следует в место назначения /dirA/fileA.bin, и т. д.?

Самое близкое, что я нашел после поиска, это следующее, но это не совсем то.

curl -T "{/dirA/fileA.bin}" ftp://XXX/dirA --user abc:xyz

Любая помощь будет оценена по достоинству. Большое спасибо.

решение1

Какой-нибудь скрипт bash подойдет. Но зачем вам FTP? Если можно использовать SSH, то проще... Что-то вроде этого:

#!/bin/bash
input="/path/to/txt/file"
spawn ssh user@remotecomputer
expect "password:"
sleep 1
send "<your password>\r"

while IFS= read -r line
do
    rsync -v -e ssh $line user@remotecomputer:/remotepath
done < "$input"

Если вы экспортируете свой открытый ключ на удаленную машину, вы можете даже пройти без начального соединения и rsync работает через ftp. Это в принципе то же самое...

Связанный контент