Sincronizzazione con un elenco di directory del server Web


14

Esiste un modo semplice per mantenere una cartella sincronizzata con un elenco di directory tramite HTTP?

Modifica :

Grazie per la punta con wget! Ho creato uno script di shell e l'ho aggiunto come cron job:

remote_dirs=( "http://example.com/" "…") # Add your remote HTTP directories here
local_dirs=(  "~/examplecom" "…")

for (( i = 0 ; i < ${#local_dirs[@]} ; i++ )) do
cd "${local_dirs[$i]}"
wget -r -l1 --no-parent -A "*.pdf" -nd -nc ${remote_dirs[$i]}
done

# Explanation:
# -r            to download recursively
# -l1           to include only one directory depth
# --no-parent   to exclude parent directories
# -A "*.pdf"    to accept only .pdf files
# -nd           to prevent wget to create directories for everything
# -N            to make wget to download only new files

Modifica 2: Come menzionato di seguito si potrebbe anche usare --mirror( -m), che è la scorciatoia per -r -N.


Sono contento che abbia aiutato. Potresti accettare la risposta che ritieni più utile per risolvere la tua domanda?
George M,

Risposte:


16

wget è un ottimo strumento.

Uso wget -m http://somesite.com/directory

-m
--mirror
    Turn on options suitable for mirroring.  This option turns on
    recursion and time-stamping, sets infinite recursion depth and
    keeps FTP directory listings.  It is currently equivalent to 
    -r -N -l inf --no-remove-listing.

7

Come rsync, ma usa zsync per ottenere da un server httpd.


Non c'è molta documentazione per zsync su Internet. Sarebbe davvero bello se potessi elaborare la tua risposta. Grazie.
Behrooz,

3
Behrooz - Adesso invece uso effettivamente il lftpsuo mirrorcomando.
Gogators
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.