Как сделать дамп базы данных mysql? Экспорт/Импорт. Создание zip архивов на хостинге по SSH

В повседневной жизни сайта на хостинге есть обычные рутинные операции - резервное копирование данных. Это позволяет обезопасить сайт в случае его падения, поскольку всегда под рукой есть резервная копия, а также позволяет откатить сайт на определенный момент назад.
Возьмем типичный хостинг: Apache, PHP, Mysql, Linux/Unix.
Данный случай подойдет тем, у кого есть доступ по SSH к своей папке на хостинге.
Экспорт и импорт базы данных mysql обычно делается через phpMyAdmin, который установлен в большинстве панелей администратора на хостинге. Но, по-моему, это крайне неудобно. К тому же, на многих сайтах стоит ограничение на размер загружаемого дампа базы. Скажем, 2мб, в то время, как база занимает, например, 80 мб.
И так, работаем с командной строкой.
Экспорт базы данных в файл:
mysqldump -uUSER -pPASSWORD DATABASE_NAME > FILE_TO_SAVE_INTO,
где USER - имя пользователя базы данных, PASSWORD - пароль, DATABASE_NAME - имя базы данных, FILE_TO_SAVE_INTO - файл на диске, в который сливается дамп.
После этого файл может быть скачан по фтп на локальный диск, либо в другое место, предназначенное для бекапа.
Импорт базы данных - обратная операция.
mysql -uUSER -pPASSWORD DATABASE_NAME < FILE_TO_RESTORE_FROM,
параметры аналогичны предыдущему примеру с экспортом.
Теперь что касается архивов.
Нам понадобятся две операции - создание ZIP архива и его распаковка. Зачем нужны архивы? Представим, что сайт состоит из 5000 файлов. По фтп загружать его крайне неудобно и долго, один файл копируется в Х раз быстрее.
Создание ZIP архива:
zip -r ARCHIVE_NAME *
-r означает рекурсивно добавить все, что есть в данной папке в архив с названием ARCHIVE_NAME, где * - все что есть в текущей папке и ее подпапках.
Распаковка ZIP архива:
unzip ARCHIVE_NAME
все вообще крайне тривиально и просто.
Мне эти четыре операции сильно упрощают работу с созданием архивных копий и восстановлением данных.
Надеюсь, и тебе помогут.
Материалы, которые могут вас заинтересовать
- Drupal. Все страницы сайта не отображаются, а вместо этого браузер пытается сохранить страницу. При этом MIME-type: application/x-httpd-php
- Drupal. Настройка параметров rss
- Как показать определенный блок только администратору сайта?
- Drupal + WYSIWIG + TinyMCE 3. Как добавить свою кнопку на панель?
- Друпал. Контент не виден анонимному пользователю. [Решено]






хм, почему бы не создавать архивы через tar -czf?
Отправить комментарий