Как сделать резервную копию вашего сайта через командную строку SSH

SSH резервное копированиеРезервное копирование вашего сайта или блога может быть дорогой и трудной задачей, требующей разнообразных плагинов или дополнительных планов от вашего хостинг-провайдера — но это не обязательно должно быть. Если у вас есть SSH-доступ к хосту вашего сайта (как правило, вам нужен хотя бы виртуальный частный сервер

для этого), тогда легко сделать резервную копию, восстановить и перенести весь ваш сайт с помощью всего лишь нескольких команд. Позвольте мне показать вам, как.

Что такое командная строка SSH?

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

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

Чтобы войти через SSH, откройте терминал в OS X (или получите бесплатное программное обеспечение SSH для Windows

) и введите следующее:

ssh username@yourdomain.com

[/ NOEDIT]

Вам будет предложено ввести пароль. Если вы никогда ранее не использовали SSH, вы можете быть удивлены, когда введя пароль, ничего не появляется на экране. Не волнуйтесь, это для безопасности.

После входа в систему вы увидите командную строку, похожую на следующую:

-bash-3.2$

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

Начните с осмотра и попыток перейти к вашему веб-каталогу. Тип:

Ls

[/ NOEDIT]

Чтобы «перечислить» текущие файлы и папки.

cd directoryname

перейти в каталог. В этом случае я собираюсь перейти в каталог httpdocs, который является корнем моего веб-сайта (где хранятся все мои файлы WordPress). Затем вы можете снова «ls», просто чтобы быть уверенным.

SSH резервное копирование

На данный момент мы готовы начать процесс резервного копирования SSH.

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

Поскольку большинство читателей будут делать это с установкой WordPress, у вас наверняка будет база данных для резервного копирования в дополнение к любым файлам, хранящимся на сайте. Прежде всего, вам потребуется 3 бита информации для резервного копирования вашей базы данных, но все это можно найти в wp-config.php (если вы используете WordPress, то есть):

  • Имя базы данных
  • Пользователь базы данных
  • Пароль базы данных

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

mysqldump --add-drop-таблица -u имя пользователя -p имя_папки> имя_бэка_файла.sql

[/ NOEDIT]

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

Примечание. Я предполагаю, что ваш сервер баз данных работает на том же сервере, на котором вы размещаете. Однако на хосте GoDaddy база данных MySQL фактически хранится удаленно на отдельном сервере, к которому у вас нет доступа по SSH. В подобных случаях вам потребуется доступ к PHPMyAdmin через панель управления хостингом, но это выходит за рамки данного руководства.

Резервное копирование файлов:

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

tar -vcf yourbackupfilename.tar.

[/ NOEDIT]

Позвольте мне сломать это. Tar является распространенным форматом сжатия linux, похожим на zip, но более эффективным. -vcf — это просто несколько опций, которые говорят «создайте новый архив и расскажите, что вы делаете». Далее следует имя файла, который мы хотим создать, и, наконец, одиночная отметка периода указывает на то, что он должен включать все. Вместо этого мы могли бы написать *, но при этом не было бы никаких скрытых файлов, таких как .htaccess, что важно для WordPress.

Это оно. После этого у вас будет один файл .tar, содержащий каждый файл на вашем сайте. Вы можете войти через FTP и загрузить его, но позвольте мне показать один последний шаг, который позволит вам восстановить все эти файлы.

Восстановление всего:

Допустим, случилось худшее, и что-то пошло не так с вашим сайтом. У вас есть tar-файл со всем, что вы скопировали на прошлой неделе, так что теперь вы хотите восстановить его. Сначала войдите через FTP и загрузите файл резервной копии на свой сервер. Возможно, вы хранили их в специальном каталоге. В любом случае, переместите последнюю полную резервную копию файла в корень вашего сайта, и мы начнем.

Начните с распаковки всех файлов, в противоположность тому, что мы сделали для их резервного копирования:

tar -vxf yourbackupfilename.tar

[/ NOEDIT]

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

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

mysql -u username -p tablename < databasebackupfilename.sql

[/ NOEDIT]

Следующая неделя: автоматизация резервного копирования

Этого достаточно, чтобы начать работу с резервным копированием SSH, а затем я покажу, как автоматизировать задачу с помощью простого сценария оболочки и команды CRON. Если у вас есть место для хранения Amazon s3

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

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

Ссылка на основную публикацию
Adblock
detector