Я пытаюсь передать все файлы, находящиеся в указанном каталоге на Server1, на Server3 с помощью скрипта, запущенного на Server2.
Передача на Server3 должна происходить через API и, следовательно, должен использовать следующий вызов CURL :
curl -X POST https://content.dropboxapi.com/2/files/upload \
--header "Authorization: Bearer $token" \
--header "Dropbox-API-Arg: {\"path\": \"/xfer/$name\",\"mode\": \"add\",\"autorename\": true,\"mute\": false,\"strict_conflict\": false}" \
--header "Content-Type: application/octet-stream" \
--data-binary @$f
Если это всего лишь 1 файл, я могу сделать это успешно, но я пытаюсь выполнить итерацию по каталогу на Server1 и отправить файл непосредственно на вызов CURL. Пока что у меня есть:
files="( $(ssh me@server1 ls dir/*) )"
while read f
do
name=$(basename ${f})
curl -X POST https://content.dropboxapi.com/2/files/upload \
--header "Authorization: Bearer $token" \
--header "Dropbox-API-Arg: {\"path\": \"/xfer/$name\",\"mode\": \"add\",\"autorename\": true,\"mute\": false,\"strict_conflict\": false}" \
--header "Content-Type: application/octet-stream" \
--data-binary @$f
done <<< "$files"
Кажется, что l oop читает "(" из массива файлов в первое имя файла, что, очевидно, вызывает проблему. Я не могу выйти за рамки этого, чтобы определить, действительно ли POSTING текущего файла в l oop через --data-binary
будет делать то, что я думаю (или надеюсь).
Any ieas?