He escrito un script de shell para cargar todos los archivos con nombres diferentes en la ruta específica desde el local al host, pero tengo algún problema y los archivos no se cargan.
#!/bin/sh
for file in /main/folder1/path/*
do
curl -u Pass:"Uname" -T $file http://www.example.com/folder/$file
done
Por favor ayúdame a solucionar esto.
Recibo el siguiente error
<html>
<head>
<title> 500 Internal Server Error </title>
</head>
<body>
<h1>
Internal Server Error
</h1>
</body>
</html>
Actualmente tengo el script dentro /main/folder_2
, si cambio /main/folder_1/path/*
a ../folder_1/path/*
, obtengo el resultado, los archivos se mueven como se esperaba. pero quiero ejecutar el script con la ruta completa especificada.
Respuesta1
Cambiaría tu script así:
#!/bin/sh
for file in /folder/path/*
do
curl -u username:password -T ${file} http://www.example.com/folder/${file}
done
Tenga en cuenta que la variable de bucle for file
se utiliza con curl
.
Una mejor manera es cargar usando find + curl
(como erarespondido en SO):
find /folder/path/ -name '*' -type f -exec curl -u USERNAME:PASSWORD -T {} http://www.example.com/folder/ \;
PD Más información sobre
algún problema impide que se carguen los archivos
sería de ayuda.