Владельцам сайтов на WordPress часто советуют «поставьте плагин резервного копирования», и это правильный совет. Проблема в том, что многие плагины по умолчанию хранят архивы на самом сайте, то есть на диске хостинга. Каждый день или каждую неделю создаётся новый полный архив, а старые иногда вообще не удаляются. Через несколько месяцев резервные копии занимают в разы больше места, чем сам сайт, заполняют диск и доводят дело до ошибки 500. Разберём, где популярные плагины хранят архивы, как их почистить и как потом настроить плагин.
Почему плагин бэкапа заполняет диск
Первая причина — количество хранимых копий. Если файлы и база сайта вместе весят 1,5 ГБ, а плагин настроен хранить 30 ежедневных копий, одни только бэкапы займут десятки гигабайт. Многие не задумываются об этой цифре при установке и оставляют значение по умолчанию либо увеличивают его по принципу «чем больше, тем лучше».
Вторая причина — сам процесс создания архива. Пока плагин упаковывает файлы, он создаёт временные файлы, и на какое-то время требуется вдвое больше места. Если процесс прерывается из-за лимита времени выполнения PHP или нехватки памяти, недоделанные архивы остаются в папке и при следующих попытках добавляются новые. Третья причина — хранение копий только на хостинге: если отправка во внешнее хранилище не настроена, плагин оставляет всё на локальном диске.
Где хранятся архивы
Каждый плагин использует свою папку. UpdraftPlus хранит архивы в wp-content/updraft, All-in-One WP Migration — в wp-content/ai1wm-backups. Duplicator в зависимости от версии использует wp-content/backups-dup-lite или, в старых версиях, wp-snapshots. У других плагинов название папки может отличаться, надёжнее всего уточнить его в настройках плагина.
Размер этих папок через SSH можно посмотреть одной командой:
cd ~/www/example.uz/wp-content
du -sh updraft ai1wm-backups backups-dup-lite wp-snapshots 2>/dev/null
Для несуществующих папок ошибки не будет, покажутся только те, что есть. Чтобы подробно увидеть, какой архив сколько весит, отсортируйте содержимое папки по размеру:
ls -lhS ~/www/example.uz/wp-content/updraft | head -20
Пример: сайт ресторана и 30 ежедневных копий
Сайт ресторана в Ташкенте на example.uz работает на WordPress: меню, множество качественных фотографий блюд и форма бронирования столиков. Вместе с изображениями файлы сайта весят примерно 1,2 ГБ. Разработчик установил UpdraftPlus, включил ежедневное копирование, выставил хранение 30 копий, а внешнее хранилище не подключил. Примерно через месяц диск заполнился, сайт перестал открываться, а заявки через форму бронирования перестали приходить.
Проверка показала десятки гигабайт архивов в wp-content/updraft. Последнюю полную копию скачали на компьютер, остальные удалили. Затем изменили настройки плагина: файлы копируются раз в неделю, база — ежедневно, на хостинге хранится только по две копии, а все копии отправляются в облачное хранилище. С тех пор бэкапы занимают на хостинге не больше нескольких гигабайт.
Безопасная очистка
Правильнее всего удалять архивы через интерфейс самого плагина. В UpdraftPlus в списке существующих резервных копий можно отметить ненужные и удалить их, при этом плагин обновит и свой список. Если диск заполнен полностью и админка не открывается, сначала через SSH или файловый менеджер удалите один-два самых старых архива, чтобы освободить место, а остальное приведите в порядок уже через плагин.
Чтобы перед удалением посмотреть список архивов старше двух недель, используйте команду:
find ~/www/example.uz/wp-content/updraft -type f -mtime +14 -name '*.zip' -print
find ~/www/example.uz/wp-content/updraft -type f -mtime +14 -name '*.gz' -print
Убедившись, что список верный, замените -print на -delete и запустите команду ещё раз. Перед удалением убедитесь, что хотя бы одна свежая полная копия есть за пределами хостинга, например на вашем компьютере или в облаке. Иначе можно освободить место и остаться вовсе без резервной копии.
Правильная настройка плагина
В настройках плагина обратите внимание на три вещи. Первое — расписание: база меняется часто, поэтому её разумно копировать ежедневно, а файлы меняются реже, и для них часто достаточно еженедельной копии. Второе — число хранимых копий: на самом хостинге хватит двух-трёх, а длинную историю пусть хранит внешнее хранилище. Третье — внешнее хранилище: UpdraftPlus поддерживает Google Drive, Dropbox, FTP, S3 и другие варианты, часть из них требует платного дополнения.
Кроме того, не включайте в бэкап лишние папки. Если в архив попадают кеш, папки резервных копий других плагинов и временные файлы, каждая копия бессмысленно раздувается. В UpdraftPlus и других плагинах можно задать список исключаемых папок. И не используйте одновременно два разных плагина резервного копирования: они будут архивировать бэкапы друг друга и удваивать объём.
Заменяет ли плагин резервное копирование хостинга
Многие хостинг-провайдеры делают собственные резервные копии на уровне сервера, но срок их хранения, частота и порядок восстановления везде разные. Как устроено резервное копирование на хостинге sayt.uz и как из него восстановиться, можно уточнить в кабинете или через техническую поддержку. И всё же для важных данных сайта рекомендуется самостоятельно хранить хотя бы одну копию, ведь резервная копия в одном месте никогда не даёт полной гарантии.