Все для домашнего медиа - Отзывы | Советы по покупке | Дизайн | Новости технологий

Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy

938

GoDaddy является одним из наиболее широко используемых провайдеров доменов и хостинга. Предлагаем хостинговые планы всего за 1 доллар в месяц. В этой статье я подробно расскажу, как создать автоматическое резервное копирование базы данных MySQL на виртуальном хостинге GoDaddy в Linux. Обратите внимание, что этот метод работает только на хостинге Linux. Каждая учетная запись хостинга поставляется с одной или несколькими базами данных MySQL. И если вы веб-мастер, вы знаете, насколько важно сделать резервную копию вашей базы данных. Настройка автоматического резервного копирования базы данных MySQLэто один из способов сделать резервную копию вашей базы данных без каких-либо усилий со стороны веб-мастера. В общем, давайте теперь посмотрим, как автоматически создавать резервные копии базы данных MySQL ежедневно, еженедельно и ежемесячно, используя скрипт bash. Не волнуйтесь, вам не нужно писать никаких кодов. Это руководство будет содержать инструкции для начинающих, чтобы достичь этого.

Что этот скрипт будет делать?

Сценарий, который я предоставлю в этом руководстве, будет выполнять автоматическое резервное копирование базы данных MySQL:

  • Создание автоматического резервного копирования базы данных MySQL ежедневно
  • В конце недели создается еженедельная резервная копия
  • В конце месяца, создание ежемесячной резервной копии
  • Хранение резервных копий в виде сжатых файлов для экономии места (до 90% экономии места)
  • Удаление старых ежедневных, еженедельных и ежемесячных резервных копий базы данных MySQL – позволяет определить, что является старым

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

Скачать автоматический скрипт резервного копирования базы данных MySQL

Первым шагом является загрузка скрипта bash, который я написал для вас, нажав кнопку ниже:

После загрузки откройте скрипт в Notepad ++ или других редакторах кода. Открытие кода в Windows Notepad, WordPad или Word плохо обрабатывает символы и приводит к следующей ошибке при запуске скрипта:

^M:bad interpreter:No such file or directory

Если вы видите вышеупомянутую ошибку, ваша первая попытка должна состоять в том, чтобы исправить символы, такие как `и ‘в коде, используя Noteplad ++ .

Изменить скрипт Bash

Этот скрипт написан с комментариями (строки, которые начинаются с #) для всего, что требует вашего ввода. Он состоит из двух разделов. Один вы должны будете отредактировать до того, как скрипт сработает, а другой вам не нужно редактировать, если вы не знаете, что делаете. Чтобы скрипт работал, все, что вам нужно сделать, это найти раздел ниже и предоставить некоторые основные детали. Откройте скрипт в Notepadd ++ и отредактируйте его, как показано ниже:

#############BEGIN EDIT AREA###################### # BELOW ARE SOME REQUIRED SETTINGS. CONFIGURE THEM PROPERLY BEFORE USING # THE SCRIPT DBHOSTNAME=xxxxx.db.xxxxxxx.hostedresource.com DBUSERNAME=databaseusername DBPASSWORD=databasepassword DBNAME=databasename BACKUPFOLDER=$HOME/html/_db_backups/backupfolder DELETEFILES=Y DAILYBACKUP=Y NUMDAILYBACKUPS=6 WEEKLYBACKUP=Y NUMWEEKLYBACKUPS=4 MONTHLYBACKUP=Y NUMMONTHLYBACKUPS=2 #############END EDIT AREA######################

Вот объяснения для всех параметров в коде:

  • DBHOSTNAMEэто имя хоста, на котором размещена ваша база данных MySQL. Вы можете получить это от GoDaddy. Просто замените все содержимое после = на имя хоста вашей базы данных.

  • DBUSERNAMEэто имя пользователя для доступа к базе данных MySQL. Просто замените слово databaseusernameсвоим именем пользователя. Цитаты не нужны.

  • DBPASSWORDпароль для доступа к базе данных MySQL Просто замените слово databasepasswordсвоей базой паролей. Цитаты не нужны.

  • DBNAMEбаза данных MySQL, для которой необходимо создать резервную копию Как правило, в GoDaddy Linux Hosting это то же самое, что и DBUSERNAME.

  • BACKUPFOLDERпуть к папке, в которой будут храниться резервные копии. $HOME/htmlавтоматически поместит вас в корневую папку учетных записей хостинга. Базы данных GoDaddy MySQL обычно хранятся в _db_backupsпапке внутри вашей базовой папки хостинга. Если папка не существует, создайте ее перед запуском скрипта. Вы также можете создать подпапку в _db_backupsпапке, если вы хотите сделать резервную копию базы данных в отдельной папке. Кроме того, вы можете сделать резервную копию в совершенно другой папке по вашему выбору. Что бы вы ни выбрали, убедитесь, что путь указан правильно.

  • DELETEFILES– Если сценарий удаляет более старые файлы в зависимости от заданных вами условий (Y или N – только заглавные буквы). Выбор Y сохранит только последние резервные копии на основе ваших настроек здесь. Выбор N сохранит все резервные копии из прошлого.

  • DAILYBACKUP– Есть ли ежедневные резервные копии Y или N? (только одна заглавная буква)

  • NUMDAILYBACKUPS– Количество последних ежедневных резервных копий, чтобы сохранить. По умолчанию установлено значение 6 (вс-пт) с еженедельным резервным копированием в сб. Все предыдущие резервные копии будут удалены. Это бессмысленно, если DAILYBACKUPне установлено Y.

  • WEEKLYBACKUP– Есть ли еженедельные резервные копии Y или N? (только одна заглавная буква). Еженедельное резервное копирование производится по субботам.

  • NUMWEEKLYBACKUPS– Количество последних еженедельных резервных копий, чтобы сохранить. По умолчанию установлено значение 4. Все предыдущие еженедельные резервные копии будут удалены. Это бессмысленно, если WEEKLYBACKUPне установлено Y.

  • MONTHLYBACKUP– Есть ли ежемесячные резервные копии Y или N? (только одна заглавная буква). Ежемесячное резервное копирование выполняется в последний день месяца.

  • NUMMONTHLYBACKUPS– Количество последних ежемесячных резервных копий, чтобы сохранить. По умолчанию установлено значение 2. Все предыдущие ежемесячные резервные копии будут удалены. Это бессмысленно, если MONTHLYBACKUPне установлено Y.

Как я уже говорил, не редактируйте ничего, кроме вышеперечисленного, если только вы не понимаете сценарий и не знаете, что делаете.

Загрузить скрипт

Следующим шагом является загрузка отредактированного скрипта в вашу учетную запись хостинга. Вы можете загрузить его в любую папку. Если вы хотите, чтобы все было организовано, вы можете создать scriptsпапку внутри /htmlпапки и сохранить в ней все свои скрипты. Дайте сценарию разрешение «Выполнить» и отключите «Видимость через Интернет». Для этого откройте диспетчер файлов (из панели управления хостингом) и перейдите в папку, в которой сохранен скрипт. Выберите файл и нажмите кнопку «Разрешения». Установите флажок «Исполняемый файл», снимите флажок «Видимый в Интернете» и нажмите «ОК». После этого вы должны увидеть символ, показанный в правом нижнем углу следующего изображения.

Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy

GoDaddy Загрузить сценарий резервного копирования MySQL

Крайне важно, чтобы вы сняли флажок / отключить «Видимый веб» в предыдущем шаге. Если не тот, кто знает путь к сценарию, может загрузить сценарий и получить учетные данные для подключения / взлома вашей базы данных MySQL. Для scriptsпапки вы можете отключить «Исполняемый файл» и «Видимый в Интернете» в разделе «Разрешения». Затем на вкладке «Дополнительные разрешения» включите только «Выполнить» для веб-пользователя и все для владельца (который вы). Это еще больше повышает вашу безопасность.

Автоматическое резервное копирование базы данных MySql

Вы можете настроить автоматическое резервное копирование базы данных MySQL, настроив задание Cron. Задание cron выполняет операцию в установленное время. Операция может быть отдельной командой или файлом сценария bash, содержащим несколько команд. Сценарий резервного копирования по сути представляет собой набор команд, которые автоматически создают резервные копии баз данных MySQL. Как правило, после завершения вывод или ошибка отправляется по электронной почте администратору. Фактически, одним из первых вещей, которые я рекомендую вам сделать в «Cron Job Manager», является предоставление электронной почты администратора. Вы должны увидеть вариант с левой стороны экрана, чтобы обеспечить один. Чтобы настроить задание cron, откройте «Диспетчер заданий Cron» на панели управления хостингом.

Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy

Панель управления хостингом GoDaddy

Затем нажмите «Создать Cron Job». Укажите описательный заголовок для задания, в котором вы узнаете, что делает задание. Выберите «Ежедневно» для частоты и «Час» на ваш выбор.

Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy

Настройка резервного копирования Cron Job

Для «Команды» нажмите «Обзор», перейдите в папку, в которой вы сохранили скрипт резервного копирования, и нажмите «Выбрать». Вернувшись к экрану «Создать задание Cron», нажмите «Сохранить», чтобы создать задание. Теперь вы должны увидеть запланированное задание Cron в списке заданий.

Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy

Запланированная работа Cron

Ваша автоматическая резервная копия базы данных MySQL почти готова.

Резервные копии базы данных MySQL

Сценарий должен автоматически запускаться каждый день в выбранное вами время. Через несколько дней вы увидите самые последние ежедневные, еженедельные и ежемесячные резервные копии в зависимости от того, как вы установили параметры резервного копирования. Пример показан ниже.

Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy

Резервные копии базы данных MySQL

Теперь вы успешно настроили автоматическое резервное копирование базы данных MySQL на вашем хостинге GoDaddy Linux. Обратите внимание, что хранение файлов (как в онлайн-хранилище) в вашем хостинге противоречит условиям GoDaddy, даже если у вас есть неограниченная учетная запись хостинга. Поэтому очень важно периодически удалять старые резервные копии или настраивать сценарий так, чтобы он выполнялся автоматически.

Резервное копирование нескольких баз данных

Что делать, если у вас есть несколько баз данных? Ну, есть два способа сделать резервную копию нескольких баз данных. Вы можете сохранить несколько копий сценария и предоставить уникальные данные базы данных в ОБЛАСТИ РЕДАКТИРОВАНИЯ в каждом сценарии. Затем запланируйте отдельное задание cron для каждой базы данных, для которой нужно выполнить резервное копирование. Но помните, что GoDaddy позволяет выполнять только до 10 заданий.

Чтобы преодолеть это ограничение, вы можете сделать резервную копию нескольких баз данных с помощью одного файла сценария и задания cron. Для этого откройте файл сценария, скопируйте содержимое из строки #############BEGIN EDIT AREA######################в последнюю строку (заканчивается на fi) и вставьте содержимое после последней строки в том же файле. Продолжайте вставлять, пока количество копий не станет равным количеству баз данных, которые вы хотите сделать резервную копию. В приведенном ниже примере показан файл сценария для 3 баз данных.

#!/bin/bash ... #############BEGIN EDIT AREA###################### ... # EDIT AREA for Database 1 ... fi #############BEGIN EDIT AREA###################### ... # EDIT AREA for Database 2 ... fi #############BEGIN EDIT AREA###################### ... # EDIT AREA for Database 3 ... fi

Не забудьте установить DBHOSTNAME, DBUSERNAME, DBPASSWORD, DBNAME, BACKUPFOLDER, DELETEFILES, DAILYBACKUP, NUMDAILYBACKUPS, WEEKLYBACKUP, NUMWEEKLYBACKUPS, MONTHLYBACKUP,и NUMMONTHLYBACKUPSво всех областях редактирования. Скрипт будет последовательно проходить по строкам и создавать резервные копии одной базы данных за другой в соответствующих папках. Поскольку каждая база данных имеет свое собственное имя, вы можете, если хотите, указать одно и то же BACKUPFOLDERдля каждой базы данных.

Восстановить резервную копию

Как уже упоминалось выше, файлы резервных копий хранятся в виде сжатых .gzфайлов. Это экономит много места. Например, база данных, используемая в приведенных выше примерах, если она хранится без сжатия, составляет 13 МБ. При сжатии он уменьшается примерно до 1,8 МБ. Если у вас огромная база данных, это может иметь большое значение. Вы можете напрямую восстановить из сжатой резервной копии.

Сначала загрузите сжатую резервную копию на свой локальный компьютер. Откройте интерфейс phpMyAdmin и перейдите к базе данных, в которую вы хотите восстановить резервную копию. Если вы не являетесь пользователем GoDaddy или любым другим хостинг-провайдером и самостоятельно размещаете свой веб-сайт, и у вас не установлен phpMyAdmin, проверьте этот пост, чтобы установить его, и этот пост, чтобы повысить его производительность. Если вы работаете в GoDaddy или других хостинг-провайдерах, у вас должна быть ссылка для доступа к интерфейсу phpMyAdmin. Если в выбранной базе данных уже есть записи, важно удалить существующее содержимое перед импортом базы данных, иначе импортированные записи могут испортить вашу базу данных. Обычно я создаю новую базу данных, а затем импортирую в нее файл резервной копии.

Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy

phpMyAdmin Импорт базы данных для восстановления

Как показано выше, в phpMyAdmin с активной выбранной базой данных выберите «Импорт» и выберите загрузку резервной базы данных. Убедитесь, что для формата «SQL» выбрано «SQL». Как правило, вам больше ничего не нужно менять. Нажмите «Go», чтобы импортировать базу данных. По завершении вы увидите на экране подтверждающее сообщение и таблицы импортированной базы данных, перечисленные на осталось. Это так просто.

Рекомендуемые руководства:

Помните, что крайне важно правильно настроить скрипт. Несмотря на то, что были предприняты все усилия, чтобы избежать случайного удаления других файлов, могут существовать сценарии, которые могли не учитываться. Однако при правильной настройке проблем быть не должно. Помимо этого, ваша автоматическая резервная копия базы данных MySQL теперь настроена для вашего общего хостинга GoDaddy для Linux. Наслаждайтесь!

Источник записи: https://www.smarthomebeginner.com

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