Использование wget и cron для загрузки веб-страниц

Итак, я знаю, что могу использовать:

wget -r <website> > <file>

чтобы получить веб-страницу и сохранить ее. Мой вопрос в том, как бы я использовал cron и wget, чтобы получить веб-страницу на почасовой или даже минутной основе, а затем сохранить их в папку, заархивировать и заархивировать, а затем продолжать добавлять к ней для проверки позже .

Я знаю, что могу сделать это вручную, моя цель состоит в том, чтобы в основном загружать его каждые 10-20 минут в течение примерно 4 часов (не имеет значения, если это длится дольше) и добавлять все в хороший каталог, а затем заархивировать указанный каталог для сохранения пространство и проверить их позже в тот же день.


person Colby R Meier    schedule 18.11.2010    source источник
comment
Можете ли вы объяснить немного больше о том, каков ваш окончательный результат? Во-первых, -r подразумевает, что вы хотите сохранить более одной страницы — это то, что вам нужно или нет? Если это так, вам следует говорить не веб-страница, а веб-страницаs, просто для ясности. Я возьму одну страницу. Итак, вы загружаете страницу, скажем, в 10:00, 11:00 и 12:00 — что бы вы хотели иметь — набор файлов (wp-10am.htm, wp-11am.htm, wp-12pm.htm) или что-то еще?   -  person icyrock.com    schedule 18.11.2010
comment
Что-то, я в основном возился с wget в первый раз, кроме того, что хватал несколько быстрых файлов.   -  person Colby R Meier    schedule 18.11.2010
comment
В основном то, что я хочу сделать, это регулярно захватывать веб-страницу и сохранять ее как index.‹time›.htm в ~/web_logs/, которую я затем заархивирую.   -  person Colby R Meier    schedule 18.11.2010
comment
Виктор Хьюго только что ответил на первую часть этого. Следующая часть — это gz/zip.   -  person icyrock.com    schedule 18.11.2010


Ответы (2)


Чтобы отредактировать таблицу cron

crontab -e

Вы можете добавить запись, как это

0,20,40 * * * *  wget URL ~/files/file-`date > '+%m%d%y%H%M'`.html &

Для загрузки/сохранения файла каждые 20 мин.

Вот небольшой справочник о выражениях crontab, чтобы вы могли настроить значения

Для автоматического TAR-файла crontab будет несколько сложным:

0,20,40 * * * *  wget URL > ~/files`date '+%m%d%y'`/file-`date '+%H%M'`.html &
* 12 * * *       tar cvf ~/archive-`date '+%m%d%y'`.tar ~/files`date '+%m%d%y'`

Это будет сделано в полдень, если вы хотите сделать это в полночь, это более сложно, потому что вам нужно TAR в предыдущий день, но я думаю, что с этим вы поймете идею.

person victor hugo    schedule 18.11.2010
comment
Раньше не замечал, но на самом деле это 0,20,40 * * * * wget URL › ~/files/file-date '+%m%d%y%H%M'.html и пропустил ›, интересно, почему он не работает: P - person Colby R Meier; 18.11.2010

Или без крона:

for i in `seq 1 10`; do wget -r http://google.de -P $(date +%k_%M) && sleep 600; done

10 раз, каждые 10 минут

РЕДАКТИРОВАТЬ: используйте zip, как это

zip foo.zip file1 file2 allfile*.html
person jfreax    schedule 18.11.2010