Показаны сообщения с ярлыком wget. Показать все сообщения
Показаны сообщения с ярлыком wget. Показать все сообщения

воскресенье, 28 февраля 2010 г.

Консольные хитрости

Опытные юниксоиды знают и осознают всю мощь использования командной строки и немного “свысока” посматривают на “мышевозов” :) Но и в консоли есть свои недостатки, которые побеждаются с помощью каких-то приемов. У каждого свой набор, а я хочу поделиться своими наработками-находками-привычками, которые появились за долгие годы использования командной строки. Эдакий небольшой cheat-sheet.
Начнем :)

1. Копирование файлов с указанием прогресса. Всегда чертовски не хватало информативности в cp

rsync --progress file1 file2

2. Преобразование текста в картинку. Использовал для создания простенькой капчи

echo -e "Some Text Line1\nSome Text Line 2" | convert -background none -density 196  -resample 72 -unsharp 0x.5 -font "Courier" text:- -trim +repage -bordercolor white -border 3  text.gif

3. Поиск и замена в текстовых файлах

find . -iname "FILENAME" -exec sed -i 's/SEARCH_STRING/REPLACE_STRING/g' {} \;

4. Метод Столлмана! Отправка веб-странички по почте :)

{ u="http://twitter.com/boombick"; echo "Subject: $u"; echo "Mime-Version: 1.0"; echo -e "Content-Type: text/html; charset=utf-8\n\n"; curl $u ; } | sendmail recipient@example.com

5. Запись iso-файла на диск

cdrecord -v speed=4 driveropts=burnfree dev=/dev/scd0 cd.iso

6. Ограничение канала для scp. В данном случае ограничен 10kbps

scp -l10 boombick@srv02:/home/svnstat/* .

7. Скриншот на удаленной машине :) (С запущенными иксами конечно)

DISPLAY=":0.0" import -window root screenshot.png

8. Качаем и сразу распаковываем :)

wget -qO - http://example.com/path/to/blah.tar.gz | tar xvf -

9. url_encode :) Достаточно примитивно, но часто помогает

echo "$url" | sed 's/%/%25/g;s/ /%20/g;s/!/%21/g;s/"/%22/g;s/#/%23/g;s/\$/%24/g;s/\&/%26/g;s/'\''/%27/g;s/(/%28/g;s/)/%29/g'

10. Погода в Москве :) Подставьте свой город

curl -s "http://www.google.com/ig/api?weather=Moscow" | sed 's|.*.*|\1|'

Пока все, to be continued

взято отсюда


четверг, 11 декабря 2008 г.

clive: cli-утилита для скачивания встроенного в страницы видео

Clive умеет скачивать видео как с известных ему сервисов (youtube и др.) так и с произвольных страниц (опция --scan).
Часто использую его для youtube и очень доволен - скачивается mp4-видео с информативным именем файла.

взято отсюда

суббота, 7 июня 2008 г.

Скачать linuxFormat одной командой

отсюда
Бывает иногда интересно полистать, оное красочное издание, в формате PDF.
Но скачивать все номера поотдельности? Без поллитру не обойтись!
Не торопитесь в магазин. Продукт виртуальный, но не менее ценен: Wget!
Вбиваем одну команду, и на утро (или день), все номера складированны у
вас в выбранной директории Ну а в это время, неторопясь, можно употребить
и натуральный продукт!
wget -U Mozilla -r -cv -l 4 -np -w 5 -A.pdf -P /home/XXXXX/linuxformat http://www.linuxformat.ru/pdf.phtml

Где:
-A.pdf только файлы PDF
-U Mozilla маскировка под браузер
-P /home/XXXXX/linuxformat каталог в вашей домашней директории

Wget проходит по ссылкам на http://www.linuxformat.ru/pdf.phtml
и сохраняет только файлы PDF.

И ещё одна ценнейшая функия:
После посещения интернета, можно собрать ссылки на файлы, в обычный текстоый
файл ,к примеру links.И сохраним его в дом.директории. Вводим команду:
wget -U Mozilla -i links

Файлы будут скачаны в домашнюю директорию.Ну а свободное время
можно также использовать с пользой.В т.ч.чтение man wget

среда, 2 апреля 2008 г.

Использование wget

взято отсюда

Пратические примеры применения wget. В принципе, всё ниже изложенное вы можете узнать набрав в командной строке man wget. Здесь я записываю примеры из своей повседневной практики.

wget --limit-rate=50k -с -i download.lst

Позволяет скачать список файлов из файла download.lst. URL каждого файла записывается на отдельной строчке.

*
Ключик -i указывает на файл со списком.
*
Ключик –limit-rate= позволяет ограничить скорость скачивания.
*
Ключик -c указывает, что если файл с таким именем уже существует, его следует докачать. Иначе файл будет скачан в новый файл с добавленым числовым индексом.

wget -r -np -c

Позволяет выкачать сайт целиком. Рекурсивно проходится по всем найденным на странице ссылкам, выкачивает их. Если выкачана новая страница - повторяет. В результате весь сайт с картинками и файлами у вас в кармане.

*
Ключик -r указывает, что надо рекурсивно ходить по ссылкам.
*
Ключик -np не даёт wget'у выкачать весь сайт целиком, если вам нужна только какая-то часть. К примеру, если вы задали URL http://www.linuxcenter.ru/lib/articles/programming/?pid=4706 то будут выкачаны только статьи по программированию.

wget -p -k

Выкачивает указанную страницу с картинками и оформлением.

*
Ключ -p указывает, что дополнительно к странице нужно скачать файлы необходимые для корректного отображения страницы в оффлайн.
*
Ключ -k заставляет wget преобразовать все внешние, по отношению к странице, ссылки таким образом, что бы они вели на оригинальный сайт.

— Ivan A-R 02.04.2008 12:13

воскресенье, 30 марта 2008 г.

Конвертация php-скриптов в статику

Предположим, у Вас есть сайт, созданный при помощи php-скриптов и базы данных MySQL. В определенное время сервер перестает нормально работать, так как перегружен посетителями - слишком много запросов.
Как быть? Искусственно ограничить запросы - это значит отбросить посетителей. Наращивать мощности сервера накладно. Оптимизировать скрипты нет времени.
Именно в таком случае поможет тотальная конвертация всего сайта в статический HTML код и отдача его при помощи nginx.

Прежде всего необходимо определить дискретность, с которой происходит обновление информации (допустим, раз в час) и выполнять зеркалирование сайта при помощи команды wget:
wget -m -q -k http://мой.домен/
После этого полученное зеркало синхронизируем с директорией, откуда файлы обрабатывает nginx (предположим, что это /usr/local/html):
rsync -tgu --delete --force мой.домен /usr/local/html
После чего осталось синхронизировать те файлы, которые wget не отзеркалит, например, *.js - java скрипты:
rsync -a --include '*/' --include '*.js' --exclude '*' /путь/к/файлам/сайта/ /usr/local/html/
Это все. Теперь осталось запускать этот код каждый час (или реже) и всю нагрузку возьмет на себя nginx.
Для того, чтобы сохранить доступ к админке CMS, необходимо повесить какой-то поддомен сайта на реальный IP и обращаться к нему.