Давай рассмотрим, как же можно сделать рип
сайта без лишнего геморроя.

1. Начать, я
думаю, нужно как всегда с инструментов, встроенных в сами шеллы.
Тут можно говорить только о c99 и wso шеллах (из популярных).
r57, к сожалению, никаких инструментов для рипа не
предоставляет. Итак, что же мы делаем. В с99 просто отмечаем
галочками файлы и папки, которые необходимо упаковать в
выпадающем меню, снизу выбираем copy и жмем «Confirm». После
этого появится меню c пимпой «Pack buffer to arhive» и полем с
названием архива, в которое можно ввести так же и путь. Все,
теперь у нас есть архив.

В wso-шелле все не так просто. Необходим PHP версии > 5. Но,
в общем и целом, также отмечаем галочками нужный контент,
выбираем из списка внизу «compress / zip» и жмем «>>». Затем
переходим в папку, куда нужно сохранить архив, выбираем в меню «paste
/ zip» и сохраняем. Скажу по секрету, в этом шелле скоро будет
сделан удобный рип, т.к. я общался с oRb’ом и он согласился, что
дело это нужное и полезное, и пообещал включить в следующий
релиз шелла достойную и удобную поддержку архивации. Так что —
следи за релизами wso.
Все это вроде бы удобно, но медленно и без возможности ставить
маски. В дополнение к минусам — шелл не пойдет по вложенным
папкам, если в них нужно упаковать не все, да и процесс
проставления галочек на нужных файлах далек от идеала. Особенно,
если файлов паковать много, и они смешаны с ненужными.

2. С шеллами покончили, рассмотрим, какие
возможности нам предлагает альтернативный софт. На глаза попался
скрипт AlfaUngzipper (alfaungzipper.com/ru).
Это бесплатная софтина на PHP состоит из одного единственного
файла, поддерживает великий и могучий и имеет приятную морду и
несколько полезных настроек. Для работы скрипту нужен PHP
(версий 4.3.2 >= 5.2.5) и zlib. В настройках можно указать
рабочую дирректорию, ходить или нет по вложенным папкам, имеются
исключения папок и фильтр по расширению файла. Запакуется все в
отдельный файл с собственным расширением .auae. Процесс
распаковки также достаточно прост и понятен и, в сущности,
сводится к нажатию нашей горячо любимой кнопочки «next». На
сайте есть описание и демо-версия, можешь для начала посмотреть
и даже попробовать все возможности прямо на сайте.

Из плюсов можно заметить, что PHP наплевать на ограничения,
налагаемые на сервере злобными админами, старающимися усложнить
нам жизнь. А в частности, отключение многих нужных и полезных
функций, которые не дают нормально работать шеллам, для нее не
помеха, архивация идет с помощью php-функции gzwrite(). Из
минусов, опять же, скорость ну и то, что это дополнительный
файл, который нужно аплоадить на шелл.

3. Ну и, наконец, переходим к самым мощным
средствам, предоставляемым самой осью. Это утилита tar. Все
опции я, разумеется, описывать не буду, достаточно несколько
примеров. А самые дотошные смогут самостоятельно прочитать хелп
с довольно внушительным списком опций.

Итак, примеры:

Запаковать папку www со всеми вложенными файлами в файл

1.tar

tar -cf 1.tar /www/

Запаковать папку www со всеми вложенными файлами и файл
lol.php из текущей папки в файл 1.tar

tar -cf 1.tar /www/ lol.php

Запаковать папку "/usr/home/www/» и сжать архив gzip’ом в
файл "/usr/home/images/1.tar.gz"

tar -czf "/usr/home/images/1.tar.gz»
«/usr/home/liona/shop.faberlic-msk.ru/www/"

Запаковать все php-файлы и картинки jpg из текущей диры и
сжать архив bzip2’ом в файл abc.tar.bz2

tar -cjf abc.tar.bz2 *.php *.jpg

Тут применимы любые конвейерные конструкции, вроде:

Найти в текущей дире и всех вложенных скрипты php, упаковать,
ужать gzip’ом в файл a.tar.gz

find . -name '*.php' | tar -czvf a.tar.gz -T —
--norecursion

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии