wpbackup.ru wordpress WPBackup.ru

Как использовать SSH для резервного копирования WordPress

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

Что такое резервное копирование WordPress через SSH и зачем оно нужно

SSH (Secure Shell) — это протокол для безопасного удаленного доступа к серверу. Имея SSH-доступ, вы можете напрямую управлять файлами и базой данных сайта, что позволяет создавать резервные копии с максимальной гибкостью и без ограничений плагинов.

Использование SSH для бэкапов полезно в следующих случаях:

  • Ограничения панели хостинга или плагинов по объему или времени выполнения.
  • Необходимость полного контроля над процессом копирования.
  • Резервное копирование больших сайтов с минимальной нагрузкой и возможностью автоматизации.

Кроме того, SSH-резервное копирование можно настроить с помощью cron-задач для регулярного автоматического создания копий.

Резервное копирование файлов WordPress через SSH

Для начала необходимо подключиться к серверу по SSH. В терминале или через программу PuTTY выполните команду (замените user и server на свои данные):

ssh user@server

После подключения переходим в корневую папку WordPress, обычно это public_html или www:

cd public_html

Чтобы создать архив всех файлов сайта, используйте tar:

tar -czf wpbackup-files-$(date +%F).tar.gz .

Эта команда упакует все содержимое текущей директории в сжатый архив с датой в имени, например, wpbackup-files-2024-06-15.tar.gz.

Для удобства архив можно переместить в отдельную папку для бэкапов:

mkdir -p backups
mv wpbackup-files-*.tar.gz backups/

Советы по резервному копированию файлов

  • Исключайте папки кэша, если их много и они не нужны в бэкапе: tar --exclude='./wp-content/cache' -czf ...
  • Проверяйте права доступа к архивам, чтобы защитить резервные копии.
  • Можно использовать rsync для синхронизации бэкапов с внешним сервером.

Резервное копирование базы данных WordPress через SSH

Основная часть данных сайта хранится в базе данных MySQL или MariaDB. Для её резервного копирования через SSH используется утилита mysqldump. Сначала нужно узнать данные для подключения (хост, имя базы, пользователь, пароль), которые содержатся в wp-config.php.

cat wp-config.php | grep DB_NAME
define('DB_NAME', 'your_database_name');
# Аналогично для DB_USER и DB_PASSWORD

Чтобы создать дамп базы, выполните команду:

mysqldump -u your_db_user -p your_database_name > wpbackup-db-$(date +%F).sql

После ввода пароля будет создан файл с дампом базы данных, например, wpbackup-db-2024-06-15.sql.

Для удобства можно упаковать его в архив вместе с файлами или отдельно сжать:

gzip wpbackup-db-*.sql

Автоматизация резервного копирования базы данных

Вы можете написать bash-скрипт, который будет создавать дамп базы и сохранять его с датой:

#!/bin/bash

DB_USER="your_db_user"
DB_PASS="your_password"
DB_NAME="your_database_name"
BACKUP_DIR="/home/user/backups"

mkdir -p $BACKUP_DIR
date=$(date +%F)

mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/wpbackup-db-$date.sql
gzip $BACKUP_DIR/wpbackup-db-$date.sql

Такой скрипт можно запускать по расписанию через cron.

Пример комплексного скрипта резервного копирования WordPress через SSH

Ниже пример bash-скрипта, который создает резервные копии и файлов, и базы данных с датой, и сохраняет их в папке backups:

#!/bin/bash

# Настройки
WP_PATH="/var/www/html"
BACKUP_DIR="$WP_PATH/backups"
DB_USER="your_db_user"
DB_PASS="your_password"
DB_NAME="your_database_name"

# Создаем папку для бэкапов
mkdir -p $BACKUP_DIR

# Дата в формате ГГГГ-ММ-ДД
DATE=$(date +%F)

# Резервное копирование файлов
cd $WP_PATH
 tar --exclude='./backups' -czf $BACKUP_DIR/wpbackup-files-$DATE.tar.gz .

# Резервное копирование базы данных
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/wpbackup-db-$DATE.sql
gzip $BACKUP_DIR/wpbackup-db-$DATE.sql

# Очистка старых бэкапов старше 30 дней
find $BACKUP_DIR -type f -mtime +30 -delete

# Сообщение о завершении
 echo "Резервное копирование завершено: $DATE"

Сохраните скрипт, например, как wpbackup.sh, и сделайте его исполняемым:

chmod +x wpbackup.sh

Для автоматизации добавьте запуск в cron, например, каждую ночь в 2 часа:

0 2 * * * /path/to/wpbackup.sh

Резервное копирование WordPress через SSH и загрузка на удаленный сервер

Чтобы дополнительно обезопасить бэкапы, их можно автоматически копировать на удаленный сервер или в облако. Для этого удобно использовать rsync или scp.

Пример команды для копирования бэкапов на удаленный сервер по SSH:

rsync -avz -e ssh /var/www/html/backups/ user@backupserver:/path/to/backup/folder/

Или просто копирование конкретного файла:

scp /var/www/html/backups/wpbackup-files-2024-06-15.tar.gz user@backupserver:/path/to/backup/folder/

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

Безопасность резервных копий и советы по хранению

Резервные копии содержат полный доступ ко всему сайту, включая пароли и пользовательские данные. Чтобы не допустить утечки:

  • Храните бэкапы в отдельной папке с ограниченными правами доступа.
  • Используйте шифрование архивов (например, gpg или zip -e).
  • Ограничивайте доступ к SSH и используйте ключи вместо паролей.
  • Регулярно проверяйте целостность резервных копий.

Выводы и рекомендации

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

Если вы хотите расширить функционал резервного копирования, обратите внимание на плагины, которые поддерживают интеграцию с внешними скриптами и удаленными хранилищами, например, Clearfy Pro из wpshop.ru.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее