Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перл архивирование для новичка, архивирование веб 
:(
    Опции темы
list2006
Дата 30.12.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



Здравствуйте гуру Перла!

У меня есть хостинг с поддержкой перла, в перле я ваше не разбираюсь
пожалуйста объясните пошагово как заархивировать(максимально) через перл, каталог(каталоги) у меня на веб сайте? 

PM MAIL   Вверх
Nab
Дата 31.12.2006, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 25.3.2006
Где: Kiev

Репутация: 26
Всего: 37



Ну эт конечно если не используется база данных, то делается это так:

1. Создается файлик с расширением которое используется для CGI, обыкновенно .pl или .cgi.
2. Далее пишем программу исполюзующую модуль любого доступного архиватора, обыкновенно это иерархия Compressed::*.
3. Также подключаем CGI.pm и рисуем простенький вебинтерфейс, чтоб наше резевное копирование было красивым...
4. Тут вопрос сложненький, ибо если сайт большой, то архивируя весь ресурс можно напороться на умирание скрипта по таймауту... или перерасходу ресурсов. smile

А я бы вообще сделал вот так
Код

system ('tar -czf backup1.tgz ./html_doc');


И все smile
вместо ./html_doc впиши путь каталога или нескольких каталогов которые хочешь сохранить... 


--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
list2006
Дата 31.12.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



а это где прописывать в командной строке чтоли?
PM MAIL   Вверх
Materium
Дата 31.12.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 4.12.2006
Где: Питер

Репутация: нет
Всего: 2



list2006 ето команда Perl, системный вызов (моно выполнять системные команды) smile

Кста Nab а почему незя без system просто в апострофах ту же команду выполнить, объясни плиз какая разница? 
--------------------
#!sub abc {return "ok"}${&abc()}="TMTOWTDI";print "$ok";
PM MAIL   Вверх
list2006
Дата 5.1.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



Цитата(Materium @ 31.12.2006,  13:26)
list2006 ето команда Perl, системный вызов (моно выполнять системные команды) smile

Кста Nab а почему незя без system просто в апострофах ту же команду выполнить, объясни плиз какая разница?

а можно пожалуйста по подробней, а то я не совсем понимаю что где прописывать
PM MAIL   Вверх
tishaishii
Дата 6.1.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



Код

use Archive::Zip qw(:ERROR_CODES :CONSTANTS);#подгружаем модуль с константами
my$zip=Archive::Zip->new;#создаём объект архиватора
my$member=$zip->addDirectory('путь к папке');#добавляем в проект папку
$member->desiredCompressionMethod(COMPRESSION_DEFLATED);#устанавливаем для неё максимальные значения сжатия
$member->desiredCompressionLevel(COMPRESSION_LEVEL_BEST_COMPRESSION);
$member=$zip->addFile('путь к файлу', 'новый путь файла внутри архива');
$member->desiredCompressionMethod(COMPRESSION_DEFLATED);
$zip->writeToFileNamed('записать архив');#укажи здесь название нового архива
#конец


Добавлено @ 15:02 
Да, только смотри, у меня пока не получилось, используя модуль Archive::Zip, добавлять в архив файлы и папки с русскими именами, они добавляются, но имена коробятся на юникод.
Как указать кодировку - не в курсе.

Добавлено @ 15:03 
Код

$ENV{LC_COLLATE}='cp1251';
use locale;

перед use Archive::Zip - не помогает.
PM MAIL ICQ Skype   Вверх
Materium
Дата 8.1.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 4.12.2006
Где: Питер

Репутация: нет
Всего: 2



tishaishii а моно плиз в цифрах, укажи среднее значение для

Код

$member->desiredCompressionMethod(COMPRESSION_DEFLATED);#устанавливаем для неё максимальные значения сжатия
$member->desiredCompressionLevel(COMPRESSION_LEVEL_BEST_COMPRESSION);


вместо COMPRESSION_DEFLATED, COMPRESSION_LEVEL_BEST_COMPRESSION
а то я не в курсах что подставлять
--------------------
#!sub abc {return "ok"}${&abc()}="TMTOWTDI";print "$ok";
PM MAIL   Вверх
nitr
Дата 8.1.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Materium, копируй весь пример smile
там же указано
Код

use Archive::Zip qw(:ERROR_CODES :CONSTANTS);

увидел? КОНСТАНТЫ подгружаются!!! (:CONSTANTS)


--------------------
PM   Вверх
tishaishii
Дата 9.1.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



В цифрах - не помню. Смотри perldoc Archive::Zip, а лучше, tkpod Archive::Zip.
Но, что-то в памяти осталось, что 9 - самое крутое сжатие.
А на всякий случай, можешь написать:
Код

use Archive::Zip qw(:ERROR_CODES :CONSTANTS);
$,="\n";
print COMPRESSION_DEFLATED, COMPRESSION_LEVEL_BEST_COMPRESSION;

и посмотри что первое, а что второе.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0834 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.