Вопрос или проблема
Я знаю, что существует команда для проверки целостности основных файлов:
$ 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 от потенциальных изменений или повреждений файлов ядра. Использование такой автоматизированной системы не только упростит администрирование, но и добавит дополнительный уровень безопасности вашему сайту. Регулярные проверки и восстановление файлов помогут избежать неожиданных ситуаций и минимизировать время простоя.