Синхронизация с каталогом веб-сервера

14

Есть ли простой способ синхронизировать папку с каталогом через HTTP?

Редактировать :

Спасибо за совет с Wget! Я создал скрипт оболочки и добавил его в качестве задания cron:

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

Редактировать 2: Как упоминалось ниже, можно также использовать --mirror( -m), что является сокращением для -r -N.

Ленар Хойт
источник
Рад, что это помогло. Не могли бы вы принять ответ, который, по вашему мнению, лучше всего помог вам решить ваш вопрос?
Джордж М

Ответы:

16

wget это отличный инструмент.

использование 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

Подобно rsync, но используйте zsync для получения с httpd-сервера.

gogators
источник
В интернете не так много документации по zsync. Было бы очень хорошо, если бы вы могли уточнить свой ответ. Спасибо.
Behrooz
3
Behrooz - я фактически использую lftpи его mirrorкоманду теперь вместо этого.
гогаторы