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
папки и сохранить в ней все свои скрипты. Дайте сценарию разрешение «Выполнить» и отключите «Видимость через Интернет». Для этого откройте диспетчер файлов (из панели управления хостингом) и перейдите в папку, в которой сохранен скрипт. Выберите файл и нажмите кнопку «Разрешения». Установите флажок «Исполняемый файл», снимите флажок «Видимый в Интернете» и нажмите «ОК». После этого вы должны увидеть символ, показанный в правом нижнем углу следующего изображения.
GoDaddy Загрузить сценарий резервного копирования MySQL
Крайне важно, чтобы вы сняли флажок / отключить «Видимый веб» в предыдущем шаге. Если не тот, кто знает путь к сценарию, может загрузить сценарий и получить учетные данные для подключения / взлома вашей базы данных MySQL. Для scripts
папки вы можете отключить «Исполняемый файл» и «Видимый в Интернете» в разделе «Разрешения». Затем на вкладке «Дополнительные разрешения» включите только «Выполнить» для веб-пользователя и все для владельца (который вы). Это еще больше повышает вашу безопасность.
Автоматическое резервное копирование базы данных MySql
Вы можете настроить автоматическое резервное копирование базы данных MySQL, настроив задание Cron. Задание cron выполняет операцию в установленное время. Операция может быть отдельной командой или файлом сценария bash, содержащим несколько команд. Сценарий резервного копирования по сути представляет собой набор команд, которые автоматически создают резервные копии баз данных MySQL. Как правило, после завершения вывод или ошибка отправляется по электронной почте администратору. Фактически, одним из первых вещей, которые я рекомендую вам сделать в «Cron Job Manager», является предоставление электронной почты администратора. Вы должны увидеть вариант с левой стороны экрана, чтобы обеспечить один. Чтобы настроить задание cron, откройте «Диспетчер заданий Cron» на панели управления хостингом.
Панель управления хостингом GoDaddy
Затем нажмите «Создать Cron Job». Укажите описательный заголовок для задания, в котором вы узнаете, что делает задание. Выберите «Ежедневно» для частоты и «Час» на ваш выбор.
Настройка резервного копирования Cron Job
Для «Команды» нажмите «Обзор», перейдите в папку, в которой вы сохранили скрипт резервного копирования, и нажмите «Выбрать». Вернувшись к экрану «Создать задание Cron», нажмите «Сохранить», чтобы создать задание. Теперь вы должны увидеть запланированное задание Cron в списке заданий.
Запланированная работа Cron
Ваша автоматическая резервная копия базы данных MySQL почти готова.
Резервные копии базы данных MySQL
Сценарий должен автоматически запускаться каждый день в выбранное вами время. Через несколько дней вы увидите самые последние ежедневные, еженедельные и ежемесячные резервные копии в зависимости от того, как вы установили параметры резервного копирования. Пример показан ниже.
Резервные копии базы данных 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. Если в выбранной базе данных уже есть записи, важно удалить существующее содержимое перед импортом базы данных, иначе импортированные записи могут испортить вашу базу данных. Обычно я создаю новую базу данных, а затем импортирую в нее файл резервной копии.
phpMyAdmin Импорт базы данных для восстановления
Как показано выше, в phpMyAdmin с активной выбранной базой данных выберите «Импорт» и выберите загрузку резервной базы данных. Убедитесь, что для формата «SQL» выбрано «SQL». Как правило, вам больше ничего не нужно менять. Нажмите «Go», чтобы импортировать базу данных. По завершении вы увидите на экране подтверждающее сообщение и таблицы импортированной базы данных, перечисленные на осталось. Это так просто.
Рекомендуемые руководства:
Помните, что крайне важно правильно настроить скрипт. Несмотря на то, что были предприняты все усилия, чтобы избежать случайного удаления других файлов, могут существовать сценарии, которые могли не учитываться. Однако при правильной настройке проблем быть не должно. Помимо этого, ваша автоматическая резервная копия базы данных MySQL теперь настроена для вашего общего хостинга GoDaddy для Linux. Наслаждайтесь!
Источник записи: https://www.smarthomebeginner.com