Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Архивирование данных сайта для Unix

 

Архивирование данных сайта для Unix

 

 

Результат падения сайта.

Никто не застрахован от ошибок. Теперь представьте, что может случиться с вашими данными и скриптами сайта, если на сервере провайдера откажет винчестер? и не будет копии данных, а вы провели довольно значительные изменения программного обеспечения? Вы храните данные у провайдера и полностью ему доверяете? Тогда представьте себе, что вас с завтрашнего дня будет обслуживать незнакомый администратор.

загрузка...

 

 

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

Какой способ архивации веб-сайта выбрать? В зависимости от возможностей и ваших прав доступа к серверу, на котором расположен веб-сайт, подлежащий архивации, существуют следующие способы сохранения контента и программ вашего сайта:

  • применение CMS*, имеющих встроенные функции архивации и восстановления контента;
  • архивация средствами сервера хостинг-провайдера*;
  • архивация данных, запускаемая на сервере провайдера с удаленного компьютера.

Применение встроенных средств CMS В ведущие CMS — например, в CMS Mambo Studio — встроены механизмы архивации контента. Как правило, использование таких функций специализированных систем управления контентом носит интерактивный характер.

Архивация, запускаемая с сервера Подавляющее большинство хостинг-провайдеров представляют доступ по протоколу SSH* к веб-каталогу вашего сайта. Если вы имеете необходимые права доступа к планировщику сервера и необходимым для архивации программам, задача значительно упрощается. В случае с UNIX-сервером достаточно написать шелл-скрипт* для архивации данных сайта. Его можно сделать доступным планировщику cron* с помощью соответствующих команд. Можно также поместить его в специальную директорию либо же указать ссылку на него в конфигурационном файле планировщика.

Архивация с помощью tar Оптимальным способом для архивации данных на UNIX является использование программы tar с соответствующими ключами. Эта утилита существует во всех UNIX-совместимых операционных системах.

Скрипты для архивации контента Если скрипты вашего веб-сайта находятся в каталоге /home/www, то команда архивации будет выглядеть следующим образом:

# tar -czf /home/arh.tar.gz /home/www/*

Также желательно называть файл архива с учетом текущей даты, чтобы впоследствии было легче ориентироваться. Для этого можно использовать такой шелл-скрипт:

#!/bin/sh
date_time=`date +"%Y-%m-%d_%H-%M-%S"`
/bin/tar -czf /home/arh/arh_$date_time.tar.gz /home/www/*

Если разместить такой шелл-скрипт (назовем его arh_www) на сервере в каталоге /etc/cron.daily, задать ему права доступа 750 (команда chmod 750 /etc/cron.daily/arh_www) и создать каталог /home/arh, то архив скриптов вашего сайта будет создаваться раз в день.

Архивируем как скрипты, так и базу данных В случае если часть контента вашего веб-сайта находится в базе данных MySQL, достаточно немного усложнить скрипт для архивации также и самой базы:

#!/bin/sh
to_cat=/home/arh/
web_cat=/home/www/*
date_time=`date +"%Y-%m-%d_%H-%M-%S"`
/usr/bin/mysqldump -h mysql_host -u mysql_user -pmysql_pass -d base >$to_cat/mysql_$date_time.sql
/bin/tar -czf ${to_cat}arh_$date_time.tar.gz $web_cat $to_cat/mysql_$date_time.sql
rm $to_cat/mysql_$date.sql

В вызове /usr/bin/mysqldump следует указать ваши реквизиты подключения к базе данных, хост (если база расположена локально — в качестве имени хоста следует указать localhost), имя пользователя, пароль и наименование вашей базы.

Управление cron'ом для пользователя Операционные системы, совместимые с UNIX, предоставляют возможность выполнять периодические задания также и непривилегированному пользователю системы. Для указания времени запуска и программы, которая будет запускаться, используется команда crontab. Она имеет следующие режимы работы:

  • редактирование конфигурации: crontab -e;
  • вывод всех заданий: crontab -l;
  • удаление всех заданий: crontab -l.

Использование утилиты crontab

Редактирование crontab\\'ом пользовательской конфигурации cron.

После запуска из командной строки crontab -e вызывается текущий редактор (скорее всего, это будет текстовый редактор vim*). Для того чтобы задать периодический запуск, необходимо указать в полях текстового файла числа или символ "*" — если планируется периодическое выполнение задачи. К примеру, если первыми двумя полями файла задать числа 10 15, то задача будет выполняться в 15-10 по системному времени на сервере. Для того чтобы войти в режим редактирования vim, следует нажать insert. После внесения изменений переход в режим команд осуществляется через нажатие escape. Для того чтобы записать внесенные изменения в файл, нужно дать команду :wq!, что означает запись без дополнительных условий. В случае применения утилиты crontab необходимо запускать команды архивации с правами пользователя, который имеет права на чтение скриптов веб-сайта. Архивацию данных можно выполнять, не имея прав на доступ к файлам веб-сайта, поскольку утилита mysqldump имеет свой собственный механизм авторизации доступа к базе данных.

Как восстанавливать сайт из архива?

Распаковка резервной копии с помощью mc.

Для восстановления скриптов сайта из архива вам достаточно распаковать архив в каталог, в котором расположен корень веб-сайта (в нашем примере это /home/www). Удобнее всего это выполнить с помощью Midnight Commander'а*. Восстановление базы данных выполняется с помощью утилиты mysql, которой передается файл дампа базы данных* mysql_xxx.sql, который заносится в общий архив:

#mysql -h mysql_host -u mysql_user -pmysql_pass -d base

Передача данных на удаленный терминал Созданный архив необходимо передать на удаленный компьютер. Для клиентской станции на Microsoft Windows идеально подходит утилита pscp.exe из состава проекта Putty*. Вы можете указать планировщику вашей операционной системы выполнять операцию копирования автоматически. В UNIX-совместимых операционных системах для таких целей можно применять команду scp (secure copy).

Оптимизация процесса архивации Если исходные материалы сайта подготавливаются клиентом, и их объем довольно существенен, можно отказаться от архивирования всех таблиц базы данных сайта. Утилита mysqldump позволяет выборочно указывать список таблиц базы данных, которые необходимо архивировать. К примеру, команда:

mysqldump -u root -p123 mysql host > /home/arh/mysql_host.txt

выводит таблицу host из базы данных под названием mysql в текстовый файл.

Что делать, если прав доступа не хватает? Даже если у вас нет административных прав на системе хостинг-провайдера, вполне возможно управлять всей схемой архивации данных с удаленного компьютера. Достаточно запускать процесс архивации с помощью скрипта, запускаемого на удаленном компьютере, или применив программу wget* следующим образом:

wget.exe /redir.php?url=site.com.ru%2Frun_arh.php.%3Cbr%3E

Также можно применить следующий PHP-скрипт:

<?
@file("/redir.php?url=site.com.ru%2Frun_arh.php");
?>

Безвыходных ситуаций не бывает В скрипте run_arh.php задается запуск скрипта архивации сайта. Этот вариант возможен, если у вашего провайдера есть интерпретатор скриптов PHP*, и он работает не в защищенном режиме. Тогда возможно воспользоваться одной из команд для запуска внешних команд из PHP. В случае если PHP работает в защищенном режиме, вам следует воспользоваться утилитой, предназначенной для запуска команд на удаленном сервере через SSH-доступ. В этом случае следует учитывать, что время работы скриптов PHP ограничено 30 секундами (по умолчанию), и разрабатывать такой механизм, который бы выполнял архивацию сайта по частям.

Использование специализированных классов PHP Существуют несколько функций, встроенных в PHP, которые позволяют выполнить архивацию на сервере. Одна из них — pack. Эффективное использование этой функции можно посмотреть на примере PHP-класса zipfile

Использование plink.exe Если клиент, запускающий архивацию, расположен на компьютере с установленной операционной системой Windows, вы также можете воспользоваться plink.exe из состава проекта Putty для запуска скриптов на удаленном сервере. Вот пример запуска этой утилиты:
>plink.exe -ssh test@192.168.2.1 /home/www/arh_site

Не забывайте про права доступа и безопасность Конечно же, необходимым условием является присутствие скрипта архивации контента сайта в веб-директории и его доступность через Веб. При этом обостряются вопросы обеспечения безопасности веб-сайта. Но особой сложности здесь нет. Достаточно дать разрешение на запуск скриптов только для определенных IP-адресов или же просто указать длинное имя скрипта.

Профилактика — лучшее средство Процесс сохранения данных и скриптов сайта и архивация сайта носят скорее профилактический характер. Но в случае возникновения сложностей только умело построенная копия программного обеспечения позволяет быстро восстановить работоспособность сайта. Часто кажется, что при разработке веб-сайта нет времени на такие рутинные операции. Но если вы хотите быть полностью уверены в том, что время и средства, вложенные в разработку и поддержание вашего сайта, не пропадут, наличие архивации — необходимое условие вашего спокойствия.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Архивирование данных сайта для Unix":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Оптимизация не-HTML-сайтов для поисковых серверов

Приходится признать, что знаменитая цитата " Построй это, и они сами к тебе придут" из фильма Field of Dreams вряд ли применима для веб-сайтов. В чем толк создавать великолепный веб-сайт, если о нем никто не знает или просто не может его найти?

» Продвижение и оптимизация - 1962 - читать


Подготовка сайта для индексирования в поисковых системах

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

» Продвижение и оптимизация - 5815 - читать


Составление ключевых фраз при оптимизации сайта для поисковых систем

Важность составления ключевых фраз при оптимизации сайта Разработка ключевой фразы представляет собой важнейший из аспектов любой попытки оптимизации. Это являет собой процесс выбора наиболее «оптимальной по значимости» ключевой фразы, помогающей посетителям найти ваш сайт. Вы можете потратить дни и месяцы, тщательно подтачивая ваши web-страницы для наилучшего ранжирования ведущими поисковиками, и все это будет тщетным, если вы не найдете правильного решения для ...

» Продвижение и оптимизация - 6807 - читать


Успешный сайт для Google за 12 месяцев

A) Начинайте строить содержание сайта. Прежде чем даже выбрать доменное имя для сайта, отметьте для себя следующее - необходимо иметь 100 страниц сайта. Это, причем, только для начала.

» Продвижение и оптимизация - 1455 - читать


Сайт для сотового телефона

Мобильный Интернет все глубже и глубже входит в нашу повседневную жизнь. Уже никого не удивишь переносным рабочим местом, состоящим из портативного компьютера и сотового телефона. Выходить в Интернет посредством технологии GPRS из любой точки земного шара уже не новость.

» Интересное в сети - 3590 - читать



Статья на тему Интернет » Интересное в сети » Архивирование данных сайта для Unix

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru