Почему автоматический бэкап важен для сайта на WordPress
Резервное копирование сайта — одна из ключевых мер безопасности и сохранения данных. Особенно для бизнес-сайтов, которые не могут позволить себе потерю контента, клиентов или настроек. Автоматический бэкап избавляет от необходимости вручную создавать копии, что снижает риск ошибки и экономит время. В случае взлома, ошибки обновления или сбоя на сервере вы всегда сможете восстановить работоспособность сайта.
В этой статье разберем, как сделать автоматический бэкап WordPress используя популярные и проверенные плагины, а также настроить их для максимальной надежности.
Выбор плагина для автоматического резервного копирования
Существует множество плагинов для резервного копирования, но не все подходят для автоматизации и бизнес-сайтов. Рассмотрим три лучших варианта с примером настройки:
- UpdraftPlus — самый популярный, бесплатный и функциональный плагин с возможностью сохранять копии в облако (Google Drive, Dropbox, Amazon S3 и др.).
- BackWPup — также бесплатный, поддерживает автоматические задания и различные форматы архивов.
- WPvivid Backup — удобный плагин с расширенными возможностями, включая миграцию и автоматические бэкапы.
Пример настройки UpdraftPlus для автоматического бэкапа
После установки и активации плагина перейдите в Настройки > UpdraftPlus Backups. Здесь можно указать расписание бэкапов.
Рекомендуется настроить автоматический бэкап файлов и базы данных с частотой не реже одного раза в день. Для бизнес-сайтов с высокой активностью лучше увеличить частоту.
Далее выберите удаленное хранилище — подключите Google Диск или Dropbox, чтобы избежать потери бэкапов при сбое на основном сервере.
Пример кода для создания резервной копии программно через UpdraftPlus API (wpbusiness_updraft_backup):
function wpbusiness_updraft_backup() {
if (class_exists('UpdraftPlus_Options')) {
$updraft = UpdraftPlus_Options::get_updraft();
if ($updraft) {
do_action('updraft_backup');
}
}
}
// Можно вызывать эту функцию по крону WordPress или вручную
Настройка автоматического запуска резервного копирования (WP Cron)
Чтобы автоматизировать процесс, можно использовать WP Cron — встроенный механизм планирования задач в WordPress. Пример создания задачи для запуска бэкапа раз в сутки:
function wpbusiness_schedule_backup() {
if (!wp_next_scheduled('wpbusiness_daily_backup')) {
wp_schedule_event(time(), 'daily', 'wpbusiness_daily_backup');
}
}
add_action('wp', 'wpbusiness_schedule_backup');
add_action('wpbusiness_daily_backup', 'wpbusiness_updraft_backup');
Этот код проверяет, есть ли уже запланированное событие, и если нет — создает его на ежедневный запуск. В обработчике вызывается функция, которая запускает резервное копирование.
Рекомендации по хранению и безопасности резервных копий
Важно не только создать копию, но и правильно ее хранить:
- Используйте удаленные хранилища (облачные сервисы), чтобы бэкапы не пропали при проблемах с сервером.
- Регулярно проверяйте, что резервные копии создаются и доступны для восстановления.
- Шифруйте или защищайте архивы паролем, если они содержат конфиденциальные данные.
- Храните несколько версий бэкапа на случай повреждения последних.
Кроме плагинов, можно дополнительно создавать резервные копии базы данных через phpMyAdmin или консоль, а файлы — копировать через FTP.
Альтернативные способы резервного копирования через код и хостинг
Если вы хотите обойтись без плагинов или добавить дополнительный уровень защиты, рассмотрите:
- Создание дампа базы данных через wpbusiness_backup_database:
function wpbusiness_backup_database() {
global $wpdb;
$tables = $wpdb->get_results('SHOW TABLES', ARRAY_N);
$sql = '';
foreach ($tables as $table) {
$table_name = $table[0];
$create_table = $wpdb->get_row("SHOW CREATE TABLE $table_name", ARRAY_N)[1];
$sql .= "DROP TABLE IF EXISTS $table_name;" . "\n" . $create_table . ";\n\n";
$rows = $wpdb->get_results("SELECT * FROM $table_name", ARRAY_A);
foreach ($rows as $row) {
$vals = array_map('esc_sql', array_values($row));
$sql .= "INSERT INTO $table_name VALUES ('" . implode("','", $vals) . "');\n";
}
$sql .= "\n";
}
file_put_contents(WP_CONTENT_DIR . '/backups/db_backup_' . date('Y-m-d_H-i-s') . '.sql', $sql);
}
- Использование системных задач cron на сервере для запуска бэкапов.
- Автоматизация копирования файлов сайта на внешний сервер через rsync или scp.
Обзор других полезных плагинов для резервного копирования и восстановления
Помимо UpdraftPlus, BackWPup и WPvivid, существуют и другие плагины с интересными функциями:
- Duplicator — удобен для миграции сайта и создания бэкапов с возможностью восстановления.
- BackupBuddy — платный, но мощный инструмент с расширенными настройками.
- WP Time Capsule — делает инкрементальные бэкапы, что экономит место и время.
Выбор зависит от потребностей проекта, бюджета и навыков администратора.
Практические советы по восстановлению сайта из резервной копии
Создание бэкапа — только половина дела. Нужно уметь быстро восстановить сайт:
- Загрузите архив с файлами и базой данных из хранилища.
- Распакуйте файлы в корневую папку WordPress.
- Импортируйте базу данных через phpMyAdmin или консоль MySQL.
- Если вы пользовались плагином, воспользуйтесь встроенной функцией восстановления.
- Проверьте сайт на наличие ошибок и корректную работу.
Регулярное тестирование восстановления поможет избежать сюрпризов при реальном сбое.