Como fazer upload de todos os arquivos do local para o host usando o Curl?

1

Eu escrevi um shell script para fazer upload de todos os arquivos com nomes diferentes no caminho específico de local para host, mas enfrentei alguns problemas e os arquivos não estão sendo enviados

#!/bin/sh
for file in /main/folder1/path/*
do
curl -u Pass:"Uname" -T  $file http://www.example.com/folder/$file
done

por favor me ajude a resolver isso.

estou recebendo o erro da seguinte forma

<html>
<head>
<title> 500 Internal Server Error </title>
</head>
<body>
<h1> 
Internal Server Error 
</h1> 
</body>
</html>

Atualmente estou tendo o script dentro de /main/folder_2 , se eu mudar /main/folder_1/path/* para ../folder_1/path/* , eu tenho a saída, os arquivos são movidos conforme o esperado. mas eu quero rodar o script com o caminho completo especificado.

    
por thamizhinian 16.07.2015 / 11:50

1 resposta

3

Eu mudaria seu roteiro assim:

#!/bin/sh

for file in /folder/path/*
do
  curl -u username:password -T ${file} http://www.example.com/folder/${file}
done

Observe que a variável for-loop file é usada com curl .

A melhor forma é enviar usando find + curl (como foi respondido em SO ):

find /folder/path/ -name '*' -type f -exec curl -u USERNAME:PASSWORD -T {} http://www.example.com/folder/ \;

P.S. Mais informações sobre

some issue is stopping the files getting uploaded

seria útil.

    
por 16.07.2015 / 20:16