WP-CLI: обнаружить измененные файлы ядра и восстановить их автоматически

Вопрос или проблема

Я знаю, что существует команда для проверки целостности основных файлов:

$ wp core verify-checksums 

В случае, если файл поврежден или изменен, есть ли команда WP-CLI для автоматического восстановления всех этих файлов? Например, загрузить эти файлы из официального репозитория и восстановить.

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

Просто переустановите текущую версию WordPress Core с помощью:

wp core download --force

Для bash-скрипта вы можете изменить этот, взятый с https://dannyvankooten.com/periodically-check-wp-core-file-modifications/. Вам нужно будет заставить его выполнять команду загрузки, а не отправлять уведомление.

#!/bin/bash
cd /my/wp/directory

if [ -e /tmp/wp-core-verify-checksums-notified ]; then
        exit
fi

if [ ! $(wp core verify-checksums) ]; then
        curl https://api.pushbullet.com/api/pushes \
              -u MY_API_KEY: \
              -d type=note \
              -d title="Проверка контрольной суммы WP не прошла." \
              -d body="Контрольная сумма ваших файлов WP core не совпадает с контрольной суммой оригинальных файлов core. Что за дела?" \
              -X POST

        touch /tmp/wp-core-verify-checksums-notified
fi

.

Ответ или решение

Автоматическое восстановление изменённых файлов ядра WordPress с помощью WP-CLI

Вопрос целостности файлов ядра WordPress имеет первостепенное значение для обеспечения стабильности и безопасности вашего сайта. Как вы правильно отметили, команда wp core verify-checksums позволяет проверить целостность файлов. Однако, в случае нахождения повреждённых или изменённых файлов, у вас есть возможность их автоматически восстановить. В данной статье рассмотрим, как это сделать.

Шаг 1: Проверка целостности файлов ядра

Для начала, вам необходимо выполнить команду, чтобы удостовериться, что ваши файлы ядра WordPress не были изменены:

wp core verify-checksums

Эта команда сравнивает контрольные суммы ваших текущих файлов с официальными значениями, предоставляемыми WordPress. Если будут обнаружены изменения, команда вернёт ошибку.

Шаг 2: Восстановление файлов ядра

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

wp core download --force

Эта команда загрузит последнюю версию WordPress и перезапишет все существующие файлы ядра, что позволит вам восстановить любые изменения.

Шаг 3: Автоматизация процесса с помощью Bash-скрипта

Чтобы сделать процесс проверки и восстановления автоматизированным, вы можете создать Bash-скрипт, который будет выполнять все необходимые команды и отправлять уведомления при обнаружении изменений. Приведем пример такого скрипта:

#!/bin/bash
cd /путь/к/вашему/wp/каталогу

# Проверяем, существует ли файл, оповещающий о прежнем уведомлении
if [ -e /tmp/wp-core-verify-checksums-notified ]; then
        exit
fi

# Выполняем проверку целостности файлов
if ! wp core verify-checksums; then
        # Если контрольные суммы не совпадают, сообщаем об этом
        curl https://api.pushbullet.com/api/pushes \
              -u YOUR_API_KEY: \
              -d type=note \
              -d title="Ошибка проверки контрольных сумм WP." \
              -d body="Контрольные суммы файлов ядра WP не совпадают с оригинальными. Проверьте, что случилось." \
              -X POST

        # Восстанавливаем файлы ядра
        wp core download --force

        # Помечаем, что уведомление было отправлено
        touch /tmp/wp-core-verify-checksums-notified
fi

Шаг 4: Настройка крон-задачи (cron job)

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

crontab -e

Добавьте следующее выражение, чтобы запускать ваш скрипт каждый день, например, в полночь:

0 0 * * * /путь/к/вашему/скрипту/restore_wp_core.sh

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...