1 ответ

Лавр Иванов
24.06.2016 13:32

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


Вариант 1. Использование специфических программ.

В своё время для реализации резервного копирования файлов с удаленного хоста я использовал программу KLS Backup. Программа работала, правда резервное копирование происходило по FTP, что может стать неудобный в случае, если потребуется копировать большой объем информации. В этом случае лучше поискать специальный софт, который направлен на создание как архива по SSH, так и дампа базы путем удаленного подключения к базе данных MySQL.


Вариант 2. Написание скрипта.

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

Для создания архива с файлами сайта я бы перешел в директорию, где находится папка моего сайта и сформировал бы архив с помощью утилиты tar:
tar czf имя_архива.tar.gz public_html/ (в качестве public_html указана папка, где находится сайт)

Для создания базы я воспользуюсь утилитой mysqldump, синтаксис следующий:
mysqldump -u имя_пользователя_базы -p имя_базы_данных > имя_создаваемого_дампа_базы.sql

После бы ввел пароль от базы и убедился в создании архива. Эти данные можно получить в конфиге сайта, в WordPress это wp-config.php, в Joomla - сonfiguration.php и так далее.

Выполнение указанных утилит можно автоматизировать путем написания простейшего скрипта, который бы помимо выполнения указанных утилит копировал бы полученные данные по SCP, скажем, на локальный компьютер или на какое-либо удаленное хранилище. Автоматизировать можно через планировщик Crontab, его поддерживает большинство известных мне хостинг-провайдеров.