Форум » Ресурсы » Несколько скриптов » Ответить

Несколько скриптов

admin: wget мощная и гибкая утилита, позволяющая скачивать и докачивать файлы и целые сайты. Но в памяти держать все опции утилиты довольно затруднительно, поэтому многие пишут скрипты для автоматизации скачивания, с уже заранее прописанными опциями. На один из таких скриптов я и наткнулся на одном из польских линуксовских сайтов. Он скачивает полностью ту часть сайта, которую Вы ему укажете. Или весь сайт полностью, если Вы указали в качестве опции начальный адрес сайта. Использование скрипта до безобразия просто: [pre2]siteget http://aceraspireone.forum24.ru[/pre2] Таким образом Вы скачаете полностью этот форум на свой винчестер. Сделайте скрипт исполняемым и поместите его в каталог [pre2]/usr/local/bin[/pre2] и его вызов станет доступным из любого каталога, адрес которого высвечивает ваша командная строка. А вот и сам скрипт siteget, довольно простой: [pre2] #!/bin/bash # # siteget - Use wget to retrieve a website # if [ "$#" -ne "1" ] then echo "$(basename ${0}) <URL>" echo "" echo "Скачай свой сайт или книгу с интернета с помощью wget." echo "Команда для скачивания помещается в одной строке, но" echo "используется много вариантов, именно поэтому и была" echo "оформлена в виде скрипта." echo "Параметр у скрипта один, это url-адрес который вы" echo "хотите скачать." exit 1 fi # --mirror gives infinite recursion, follows links ... # --convert-links converts links for local viewing # --no-verbose is a relatively quiet (but not silent) mode # --no-parent won't traverse up the tree - don't know how this combines with # "page-requisites," but I hope the latter wins ... (seems to work well) # --page-requisites get images (inline OR external) for local viewing # --user-agent sets a user agent string because some sites send empty pages if # they don't like wget, so I use the string for what I'll be viewing with # wget --mirror --convert-links --no-verbose --no-parent --page-requisites \ --user-agent="Mozilla/5.0 (compatible; Konqueror/3.0.0/10; Linux)" ${1}[/pre2]

Ответов - 2

admin: Скрипт о котором я писал в посте выше работает безукоризненно. Но выяснилась одна неприятная особенность, wget так же создает индексные html файлы в каждом скачанном каталоге. Выглядит это так: Может это и удобно для просмотра в konqueror, допустим. Но меня это совершенно не устроило. Подсчитайте сами сколько лишних файлов на винте я получил. Пришлось искать решение, как избавиться от этой напасти - в инете. Опции, чтобы wget не создавал индексные файлы пока не нашел, но нашел скрипт как избавляться от этих файлов. Скрипт [pre2]remove_index[/pre2][pre2] #!/bin/bash # надо выбрать только файлы с именем ".html*": find . | grep -e '/index.html*' # Нужные файлы мы выбрали, осталось их удалить. rm -Rf `find . | grep -e '/index.html*'` [/pre2] Сработал скрипт красиво.

admin: Точно так же можно избавиться от каталогов .svn в исходниках. Скрипт аналогичен приведенному постом выше. [pre2]remove_svn[/pre2][pre2] #!/bin/bash # надо выбрать только папки с именем ".svn": find . | grep -e '/.svn$' # Нужные папки мы выбрали, осталось их удалить. rm -Rf `find . | grep -e '/.svn$'`[/pre2]



полная версия страницы