Necesito que los archivos se descarguen a / tmp / cron_test /. Mi código de wget es
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Entonces, ¿hay algún parámetro para especificar el directorio?
Necesito que los archivos se descarguen a / tmp / cron_test /. Mi código de wget es
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Entonces, ¿hay algún parámetro para especificar el directorio?
Respuestas:
Desde la página del manual:
-P prefix
--directory-prefix=prefix
Set directory prefix to prefix. The directory prefix is the
directory where all other files and sub-directories will be
saved to, i.e. the top of the retrieval tree. The default
is . (the current directory).
Por lo tanto, debe agregar -P /tmp/cron_test/(forma corta) o --directory-prefix=/tmp/cron_test/(forma larga) a su comando. También tenga en cuenta que si el directorio no existe, se creará.
--no-host-directorieso -nHsegún serverfault.com/questions/354792/…
-O es la opción para especificar la ruta del archivo que desea descargar.
wget <file.ext> -O /path/to/folder/file.ext
-P es el prefijo donde descargará el archivo en el directorio
wget <file.ext> -P /path/to/folder
/path/to/folder/allí
-Oqué no necesitaba, pero me hizo sentir más seguro de que eso -Pera lo que necesitaba.
-Oreemplaza -P, por lo que no puede especificar solo el directorio de salida (think dirname y solo el nombre de archivo de salida (think basename). Para este uso, solo -Oespecifique la ruta completa del archivo.
Asegúrese de tener la URL correcta para lo que esté descargando. En primer lugar, las URL con caracteres como ?y similares no se pueden analizar y resolver. Esto confundirá la línea cmd y aceptará los caracteres que no se resuelvan en el nombre de la URL de origen como el nombre del archivo que está descargando.
Por ejemplo:
wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"
se descarga en un archivo denominado, ?source=typ_redirect.
Como puede ver, conocer una o dos cosas sobre las URL ayuda a comprender wget.
Estoy arrancando desde un disco de alquiler y solo tenía Linux 2.6.1 como recurso (la importación del sistema operativo no está disponible). La sintaxis correcta que resolvió mi problema al descargar un ISO en el disco duro físico fue:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Uno podría calcular la URL correcta al encontrar en qué punto se wgetdescarga en un archivo llamado index.html(el archivo predeterminado) y tiene el tamaño correcto / otros atributos del archivo que necesita que se muestran con el siguiente comando:
wget "(source url)"
Una vez que la URL y el archivo fuente son correctos y se están descargando index.html, puede detener la descarga ( ctrl+ z) y cambiar el archivo de salida usando:
-O "<specified download directory>/filename.extension"
después de la fuente url.
En mi caso, esto resulta en descargar un ISO y almacenarlo como un archivo binario debajo isofile.iso, que con suerte se monta.
"-P" es la opción correcta, siga leyendo para obtener más información relacionada:
wget -nd -np -P / dest / dir - http recursivo : // url / dir1 / dir2
Fragmentos relevantes de páginas de manual para mayor comodidad:
-P prefix
--directory-prefix=prefix
Set directory prefix to prefix. The directory prefix is the directory where all other files and subdirectories will be saved to, i.e. the top of the retrieval tree. The default is . (the current directory).
-nd
--no-directories
Do not create a hierarchy of directories when retrieving recursively. With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the
filenames will get extensions .n).
-np
--no-parent
Do not ever ascend to the parent directory when retrieving recursively. This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.
wget man: -O archivo --output-document = archivo
wget "url" -O /tmp/cron_test/<file>