Используя txt файл для загрузки Файла с местоположения FTP в возможности Пакетного режима

Я нуждаюсь в помощи относительно загрузки файлов с FTP-сервера на Локальный сервер.

для загрузки я должен использовать FTP В возможности пакетного режима, и у меня есть txt файл с со всеми файлами, который должен быть загружен.

file.txt

cap/media/101/101.mp4
cap/media/102/102.mp4
cap/media/103/103.mp4
cap/media/104/104.mp4
cap/media/105/105.mp4
cap/media/106/106.mp4 

cap/media/101 структура папок в корне пользователя FTP, и 101.mp4 файл.

таким образом, структура папок для 1000 из файла - то же, и mp4 расположен, как перечислено.

таким образом, мне нужен сценарий удара, который может работать в возможности Пакетного режима и загрузить все файлы автоматически на локальное устройство хранения данных.

Я создал тот сценарий, но он не работает, надо надеяться, кто-то может дать мне некоторые подсказки,

###########################
HOST="ftp.remote.com"
USER="media"
PASSWORD="test"
FILE="/tmp/list.txt"
###########################



 cd /tmp/
while read p; do 
pt=$(dirname $p);
h="/"
pth=$pt$h
mxf=$(basename $p);
#echo $pth;
#echo $mxf; 
ftp -n -v >> /tmp/filetransfer.log 2>&1 $HOST <<EOF
binary
user $USER $PASSWORD
prompt
lcd /tmp/media
cd $pth
mget $mxf
quit
EOF
done < /tmp/list.txt

и это - вывод FTP, Может Вы помогать мне здесь, я не понимаю, какой excatly я делаю неправильно.

Connected to ftp.remote.com
220-FTPD
220 This is a private system - No anonymous login
200 TYPE is now 8-bit binary
331 User media OK. Password required
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
Interactive mode off.
Local directory now /tmp/media
250 OK. Current directory is cap/media
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.

У меня есть эта ошибка: С 221 до свидания. Вы загрузили 0 и загрузили 0 кбайт.

спасибо за любой комментарий и совет заранее.

-1
задан 9 February 2017 в 11:23

2 ответа

Следуйте до комментариев, это должно, вероятно, работать:

HOST="ftp.remote.com"
USER="media"
PASSWORD="test"
FILE=`cat /tmp/list.txt`
cd /tmp/localstorage

ftp -n -v >> /tmp/ftptransfer.log 2>&1 $HOST <<END_SCRIPT
ascii
user $USER $PASSWORD
prompt
mget $FILE
quit
END_SCRIPT
0
ответ дан 7 November 2019 в 00:38

Я написал следующий сценарий, чтобы избежать ошибок с именами файлов, которые содержат пробел:

#!/bin/bash

host=ftp://ftp.local
username=user
password=pw
cmd="curl -O -u ${username}:${password} ${host}/"
cd public_html
cat ~/list.txt | while read files ; do $cmd"${files}" | echo ${files};
done | tee -a ~/ftp.log
0
ответ дан 21 November 2019 в 21:52

Другие вопросы по тегам:

Похожие вопросы: