Компьютер должен работать, а человек - думать
Делать в копьютере что-то руками нужно один раз - задать ему программу.
Этим мы и займемся... на языке скриптов sh
Архивирование сайта на движке drupal состоит из двух задач:
- backup базы
- backup собственно сайта
Для решения первой задачи используем mysqldump.
Нужно задать следующие параметры:
имя пользователя базы: DBUSER=user
пароль пользователя базы: DBPASS=secret
имя базы: DBNAME=base
имя файла-результата:OUTFILE=backup
Предполагается, что база на localhost, и мы хотим полный бэкап базы - команда выглядит так:
mysqldump -u${DBUSER} -p${DBPASS} ${DBNAME} --opt -Q -r${OUTFILE}.sql
полученный дамп надо запаковать. Лучше использовать то, что заведомо есть на UNIX-хостинге -tar и gzip (gzip понимают и FAR и TotalCommander):
tar -czf ${OUTFILE}.tgz ${OUTFILE}.sql
Обратная процедура - загнать дамп в базу - делается из коммандной строки так:
mysql -uuser -p dbname
chmod u+x ./backup.sh
Комментарии
Либо модуль backup, который большинство из этого умеет...
Конечно, модуль это хорошо, и если не заглядывать в код, напоминает винду и исключает мыслительные процессы в голове и ... добавляет нагрузку на сайт.
Это просто расширенный вариант моего склерозника (один раз написал - и забыл!), для себя любимого, ну может и кто еще заинтересуется
Спасибо за инфо, очень интересно. Но, такой модуль как "бэкап" НЕ ДОБАВЛЯЕТ нагрузку на сайт.
Ну, если он все-же на php, и выполняется от имени вебсервера, то добавляет, по крайней мере на момент своего выполнения...
И с ним не придется нянчится при апдейте сайта (включать/отключать, проверять совместимость)? Это вопрос. Я им не пользовался.
И запускать этот скрипт надо по крону.
Чтобы не забыть, из-за склероза.
Еще бы дописать сюда, чтоб файл на мыло отправлялся
Большое спасибо за скрипт, но ИМХО одного такого скрипта не достаточно, т.к. через некоторое время бэкапов этих может накопиться огромное количество, и лимит дискового пространства на сервере будет превышен.
Как Вы с этим боретесь?
Можно например так:
- такая команда удаляет все файлы с датой создания старше 7 дней из директории /var/backups/, можно поместить это в крон
--
Администратор сайта «Drupal — Россия»
на вопросы по Drupal отвечаю только на форумах, не пишите в почту и приватом!
Еще бы дописать, чтобы база архивировалась по 5мб и частями на мыло отправлялась
... причем отправлялась бы на ***gmail.com, а при сбое или повреждении БД восстанавливалась бы оттуда.
Хостинг dreamhost, свободное странство - 200 Гб, приращение каждую неделю - 1Гб
Но если база 4 гига, то конечно! (а вот эту базу слать да по пять метров, да на дайлапе!!!)
Ух как много вопросов и ответов... Попробую ответить всем
To KCEOH - нет никаких сложностей, если в системе есть, например,
sendmail
...To inc - см. ответ от axel да, что-то типа этого. т.е удалять все старые, время зависит от места.
To vadbars - да я об этом уже думал... Пока мне проще написать
scp -r "site:/backupdir/" ~/backup
(я ж под линухом сижу и дома и на работе)To garamond - Многие почтовые системы уже и больше позволяют... а вообще-то с диалапом сложно работать с таким сайтом, да уж и ADSL повсеместно входит в жизнь - пример Курагино - юг красноярского края 100 км на восток от Минусинска (Ленинские места ) сравнительно недавно затащили оптику и начали раздавать ADSL... А в школу УЖЕ раздали!!!
To ALL: Давайте напишем общими усилиями полный комплекс обслуживания сайта при наличии шелл|root доступа - IMHO это наиболее правильный подход для такой CMS как drupal
> To ALL: Давайте напишем общими усилиями полный комплекс обслуживания сайта при наличии шелл|root доступа
Полезное дело. С удовльствием поделюсь скриптами, которые использую. Результаты можно сложить в docs.drupal.ru. Давайте определим наиболее частые задачи, которые встают при обслуживании сайтов.
--
Администратор сайта «Drupal — Россия»
на вопросы по Drupal отвечаю только на форумах, не пишите в почту и приватом!
Да согласен.
Вот мои предложения по задачам
1. Проверять что сайт доступен
2. Архивация и сохранение данных в укромном месте
3. Проверка, оптимизация базы
1. На работе это решено (сервер под нами) отсылкой смс если сервер упал.
Думаю как это решить при удаленном сервере.
Видимо, со своего компа, смотрящего в сеть периодически скачивать статическую страницу (которая 100% не меняется, если нет - создать и не показывать ) сравнивать ее хеш с предыдущим... Впрочем, может достаточно успешного скачивания первой страницы.
При ошибке - посылать себе смс... Но тогда надо иметь свободный мобильник, прикрученный к компу... это денег стоит.
2. Начало положено... надо дополнить разными вариантами завершающей фазы. Кому-то удобнее скриптом забирать с сайта, ком-то выбрасывать на почту и т.п.
3. Написать скрипт (drupal-ориентированный) и периодически его гонять.
> При ошибке - посылать себе смс... Но тогда надо иметь свободный мобильник, прикрученный к компу... это денег стоит.
Можно посылать на почтовый адрес, который многие провайдеры предоставляют для пересылки на SMS.
Кроме того, есть сервисы, пингующие сайт. Возможно, там есть и услуга отправки на SMS.
А вот об этом по-подробнее, т.к. я этим раньше не интересовался. Думаю и другим интересно будет.
Один из сервисов, которым я пользуюсь: http://host-tracker.com/ (сообщает по-русски). Можно поискать еще, их довольно много разных.
А насчет SMS - мой MegafonUral пересылает все сообщения, приходящие на адрес 123456789@sms.megafonural.ru, на сотовый номер 123456789 (если, конечно, пользователь включил эту возможность).