Инструкции

Резервные копии сайта: как настроить

Копия спасает, только если она свежая, лежит не на том же сервере и из неё уже пробовали восстановиться. Ниже — что копируют хостеры и чего в их копиях нет, как забрать копию к себе и как на VPS настроить ежедневную копию файлов и базы одним скриптом. Команды — для Ubuntu 24.04 и 26.04.

Обновлено 02.10.2026≈ 24 мин чтения
Содержание 11

Коротко

  • На обычном хостинге копии делаются сами и бесплатно. Timeweb, Спринтхост и Reg.ru копируют сайт каждый день и хранят копии 30 дней, SpaceWeb копирует каждый день и хранит неделю, Beget — в среднем раз в 3–4 дня. Чего в этих копиях нет — в таблице ниже.
  • Копия хостера — не единственная страховка. Раз в месяц и перед обновлением сайта скачивайте копию себе.
  • На VPS копий может не быть вовсе. У Timeweb Cloud это платная опция, у SpaceWeb копии по умолчанию делаются только вручную. Если сервер удалят, на копии Beget и Timeweb Cloud рассчитывать нельзя.
  • Своя копия на VPS — короткий скрипт и одна строка в расписании cron. Каждую ночь он сохраняет базу и файлы сайта и удаляет копии старше двух недель.
  • Держите копию и вне сервера: на своём компьютере или в хранилище S3. В хранилище Beget гигабайт стоит 0,07 ₽ в день, трафик безлимитный. В «холодном» хранилище Timeweb Cloud — 1,1 ₽ в месяц, плюс 1,5 ₽ за каждый скачанный гигабайт.
  • Проверьте, что из копии можно восстановиться, пока она не понадобилась. Как это сделать — показываем ниже.

Что должно быть в копии

Чтобы восстановить сайт целиком, нужны:

  • все файлы сайта, включая скрытые — например, .htaccess, имя которого начинается с точки;
  • база данных, если сайт работает на CMS: в ней лежат страницы, заказы, пользователи и настройки;
  • настройки: на VPS — папка /etc/nginx, а на любом хостинге — задания cron, если они есть;
  • почта, если она на том же хостинге. SpaceWeb и Reg.ru почту в копии хостинга не включают.

Полный список того, что может понадобиться, разобран в статье о переносе сайта: шаг 1 — составьте список.

Что копирует обычный хостинг

У всех пяти хостеров из нашего рейтинга копии делаются автоматически и входят в тариф. Различаются частота, срок хранения и мелочи, которые всплывают в момент восстановления. Названия хостеров ведут на их справку.

ХостерКак часто и сколько хранитЧто важно знать
Timewebкаждую ночь, копии доступны 30 днейФайлы, добавленные после копии, при восстановлении не удаляются. Перед восстановлением базы создайте новую с тем же именем и паролем; если база с таким именем есть, удалите её, сначала сохранив копию
Begetв среднем раз в 3–4 дня, хранится 8–12 копий: при копии раз в 4 дня самой старой будет 36–48 днейФайлы и базу восстанавливайте на одну дату. Перед восстановлением переименуйте папку public_html, например в public_html_old, и сохраните дамп текущей базы
Спринтхосткаждый день, хранятся 30 днейВ копию не попадают архивы .zip, .rar, .tar и .gz, логи и кеши. Файлы, которых нет в копии, при восстановлении остаются на месте. Если базы нет на аккаунте, восстановление выдаст ошибку — сначала создайте базу с тем же именем
SpaceWebкаждый день; копии за последние 7 дней и на первое число этого и прошлого месяцаПочта не копируется. Если на каждый гигабайт тарифа приходится больше 20 000 файлов, копия делается не чаще раза в неделю
Reg.ruкаждую ночь, каждая копия хранится 30 сутокВ копию не входят файлы больше 300 МБ, папка tmp, почта, задания cron и настройки панели. Базу перед восстановлением нужно создать в панели, можно пустую

Восстановить сайт из копии хостера можно кнопкой в панели. Но перед этим сохраните то, что есть сейчас: копия вернёт сайт в прошлое, а заказы и заявки, пришедшие после неё, пропадут.

Как скачать копию хостера себе

  • Timeweb: в разделе «Резервные копии» наведите курсор на копию и нажмите «Сохранить» — она ляжет в домашнюю папку. Скачайте её файловым менеджером или по FTP и удалите, чтобы не занимать место тарифа.
  • Beget: ссылку на скачивание пришлют письмом, она же есть в истории заданий и действует 48 часов. Можно выгрузить копию архивом .tar.gz в корень аккаунта, но он займёт место тарифа.
  • Спринтхост: кнопка «Выгрузить» кладёт архив в папку backups на аккаунте. Скачайте его файловым менеджером и удалите.
  • SpaceWeb: в разделе «Бэкапы» кнопка «Получить бэкап» кладёт архив в папку аккаунта — на тарифе должно хватить свободного места.
  • Reg.ru: на вкладке «Резервные копии» выберите домен и дату и нажмите «Сформировать архив». Ночная копия становится доступна для скачивания после 14:00 по Москве. Если файлов больше 150 000, отдельные файлы в копии не посмотреть — скачивайте архив целиком.

Своя копия на обычном хостинге

Своё расписание копий на обычном хостинге настраивать не обязательно. Достаточно раз в месяц и перед обновлением CMS или плагинов скачать сайт себе: файлы — архивом через файловый менеджер панели или по FTP, базу — в phpMyAdmin кнопкой «Экспорт». По шагам это расписано в статье о переносе: файлы и база данных.

Что копирует провайдер VPS

На VPS за копии чаще всего платят отдельно, а устроены они иначе: провайдер копирует сервер целиком.

ПровайдерЦена и частотаЧто важно знать
Begetбесплатно, раз в несколько днейКопии файловые и лежат в другом дата-центре. Если удалить сервер, копии доступны только через поддержку, и Beget их наличие не гарантирует. Восстановление всего сервера переустанавливает систему
Timeweb Cloud6 ₽ в месяц за гигабайт диска за каждую хранимую копию: одна копия диска 15 ГБ — 90 ₽; каждый день, раз в неделю или раз в 30 днейКопии в том же дата-центре, что и сервер. При сбое на сервере или его удалении восстановиться из них не получится — так пишет сам провайдер. Восстановление стирает текущие данные
SpaceWebот 1,5 до 30 ₽ в день по тарифу: размер диска × 3 копии × 0,05 ₽ за гигабайт в день, на тарифах Турбо — 0,1 ₽; до трёх копий, автоматически — раз в три дня, неделю, две недели или месяцПо умолчанию копии только ручные, автоматические включают сами. Пока копия создаётся, сервер недоступен 10–15 минут. При отключении услуги копии удаляются
Reg.ru0,0072 ₽ в час за гигабайт копий — до 5,26 ₽ за гигабайт в месяц; вручную или каждый деньКопия хранится отдельно от сервера, из неё можно восстановить даже удалённый сервер

Копия провайдера возвращает весь сервер к моменту копирования. Всё, что случилось после, — заказы, заявки, регистрации — пропадёт: Timeweb Cloud и SpaceWeb прямо пишут, что текущие данные при восстановлении удаляются. Beget предупреждает о другом: файлы таблиц MySQL не стоит восстанавливать, не остановив службу базы данных mysqld. Поэтому базу сайта стоит копировать отдельно и чаще — дампом, как в скрипте ниже. Дамп снимается на ходу, сайт останавливать не нужно.

Ещё у провайдеров есть снапшоты — снимок всего диска по запросу. У Beget он стоит 5 ₽ в месяц за гигабайт, у Timeweb Cloud бесплатный, но один на сервер и живёт 7 дней, а пока он есть, бэкап сервера создать нельзя. Снапшот удобно сделать перед рискованным обновлением, но регулярных копий он не заменит.

Своя копия на VPS: скрипт и cron

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

Если на сервере стоит панель управления, копии можно настроить и в ней: в ispmanager и FASTPANEL есть резервное копирование, в том числе во внешнее хранилище. Какие бывают панели и сколько они стоят, разобрано в статье Панель управления хостингом и VPS.

Что понадобится

  • Сервер на Ubuntu 24.04 или 26.04 и пользователь с правами sudo, как в статье Как настроить VPS с нуля. В примерах пользователь называется ivan — подставьте своего.
  • Сайт в папке /var/www/example.ru, как в статье Как разместить сайт на VPS. Если сайт лежит в другом месте, поправьте пути в скрипте.
  • Имя базы, пользователь и пароль, если сайт работает с MySQL или MariaDB. Они записаны в файле настроек CMS — где он лежит, показано в таблице статьи о переносе, шаг 4.

Команды ниже одинаково работают с MySQL и MariaDB: в Ubuntu 24.04 и 26.04 программа mysqldump есть в клиентах обеих.

Шаг 1. Уберите пароль базы в отдельный файл

Пароль, набранный прямо в команде, могут увидеть другие пользователи сервера в списке процессов. Документация MySQL называет такой способ небезопасным и советует файл с параметрами. Создайте его:

sudo nano /root/.backup-db.cnf

Вставьте три строки, подставив пользователя и пароль базы:

[client]
user=ПОЛЬЗОВАТЕЛЬ_БАЗЫ
password="ПАРОЛЬ"

Кавычки вокруг пароля оставьте: без них знак # внутри пароля будет понят как начало комментария. Сохраните: Ctrl+O, Enter, Ctrl+X. Затем закройте файл от всех, кроме root:

sudo chmod 600 /root/.backup-db.cnf

Шаг 2. Напишите скрипт

sudo nano /root/backup-site.sh

Вставьте текст, заменив example.ru, ИМЯ_БАЗЫ и ivan на свои:

#!/bin/bash
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
umask 077

SAJT=example.ru
BAZA=ИМЯ_БАЗЫ
KUDA=/home/ivan/backup
DATA=$(date +%Y-%m-%d-%H%M)

mkdir -p "$KUDA"
mysqldump --defaults-extra-file=/root/.backup-db.cnf \
  --single-transaction --no-tablespaces --default-character-set=utf8mb4 \
  "$BAZA" > "$KUDA/base-$DATA.sql"
gzip -f "$KUDA/base-$DATA.sql"
tar -czf "$KUDA/files-$DATA.tar.gz" -C /var/www "$SAJT"
find "$KUDA" -name '*.gz' -mtime +13 -delete
chown -R ivan:ivan "$KUDA"
echo "Копия готова: $DATA"

Что делают строки:

  • set -e останавливает скрипт на первой же ошибке. Если новая копия не получилась, старые не будут удалены.
  • PATH — папки, в которых искать программы. Задаём их сами, чтобы скрипт работал одинаково и из терминала, и по расписанию.
  • umask 077 — копии сможет читать только их владелец. В копиях пароли из настроек CMS и данные посетителей.
  • SAJT, BAZA и KUDA — папка сайта внутри /var/www, имя базы и папка для копий.
  • DATA — дата и время запуска, например 2026-10-01-0330. Из них складываются имена файлов, поэтому новая копия не затирает прежние.
  • mysqldump сохраняет базу в файл .sql. Ключ --defaults-extra-file должен стоять первым — этого требуют и MySQL, и MariaDB. --single-transaction снимает согласованную копию таблиц InnoDB, не блокируя сайт; InnoDB — движок по умолчанию начиная с MySQL 5.5. Таблицы других движков, например MyISAM, могут измениться прямо во время дампа. --no-tablespaces избавляет от права PROCESS, которого у пользователя сайта обычно нет. utf8mb4 — та же кодировка, что и в статье о переносе.
  • gzip сжимает дамп. Это отдельная команда, а не одна цепочка с mysqldump: если дамп сорвётся, скрипт остановится, а не сохранит обрезанную базу как готовую копию.
  • tar упаковывает папку сайта со всеми файлами, включая скрытые. Ключ -C /var/www нужен, чтобы в архиве была только папка сайта, без пути к ней.
  • find удаляет копии, которым 14 суток и больше, — остаются последние две недели. Чтобы хранить месяц, поменяйте 13 на 29.
  • chown отдаёт папку с копиями вашему пользователю, чтобы её можно было скачать: вход по SSH под root мы закрыли ещё при настройке сервера.
  • echo пишет строку о том, что копия готова.

Если у сайта нет базы, удалите из скрипта команды mysqldump и gzip — команда mysqldump занимает три строки, переносы в ней сделаны обратной косой чертой.

Чтобы сохранять и настройки nginx, добавьте после строки с tar ещё одну:

tar -czf "$KUDA/nginx-$DATA.tar.gz" -C /etc nginx

Если в папке сайта есть кеш, который всё время меняется, исключите его. Иначе tar может сообщить, что файл изменился во время упаковки, и скрипт остановится. Ключ --exclude ставят перед -C. Например, для папки wp-content/cache строка с tar будет такой:

tar -czf "$KUDA/files-$DATA.tar.gz" --exclude=wp-content/cache -C /var/www "$SAJT"

Сохраните скрипт и разрешите запускать его только root:

sudo chmod 700 /root/backup-site.sh

Шаг 3. Запустите скрипт вручную

sudo /root/backup-site.sh
ls -lh /home/ivan/backup

Скрипт должен написать «Копия готова» с датой, а в папке появятся два файла: base-ДАТА.sql.gz и files-ДАТА.tar.gz. Если вместо этого появилась ошибка, найдите её в таблице в конце статьи.

Шаг 4. Поставьте скрипт в расписание

Откройте расписание root — скрипт должен работать от его имени, чтобы читать файл с паролем:

sudo crontab -e

Если сервер ответит, что команды crontab нет, сначала поставьте cron: sudo apt install cron.

Расписание откроется в текстовом редакторе. Если команда сначала спросит, какой редактор использовать, выберите nano. Добавьте в конец строку:

30 3 * * * /root/backup-site.sh >> /var/log/backup-site.log 2>&1

Сохраните файл. После выхода из редактора расписание вступит в силу само. Что важно в этой строке:

  • Пять полей в начале — минута, час, день месяца, месяц и день недели. Звёздочка значит «любой». Эта строка запускает скрипт каждый день в 3:30 по времени сервера. Часовой пояс сервера покажет команда timedatectl, а как его поменять — в статье Как настроить VPS с нуля.
  • После строки нажмите Enter. Каждая строка расписания должна заканчиваться переводом строки, иначе cron сочтёт расписание хотя бы частично сломанным.
  • Знак процента в расписании не пишите: cron превращает его в перевод строки. Поэтому дата для имён файлов вычисляется внутри скрипта.
  • Окончание >> /var/log/backup-site.log 2>&1 дописывает сообщения скрипта и ошибки в журнал. Без него cron отправляет их письмом владельцу расписания — а на сервере без настроенной почты такое письмо никто не прочитает.

Проверить, что строка на месте, можно командой sudo crontab -l. На следующее утро загляните в журнал:

sudo cat /var/log/backup-site.log

В нём должна быть строка «Копия готова» с датой. Если её нет, а выше — сообщение об ошибке, найдите его в таблице в конце статьи.

Где хранить копии

Копии на том же сервере пропадут вместе с ним — при поломке диска, взломе, удалении сервера или неоплаченном счёте. Поэтому хотя бы одна копия должна лежать где-то ещё.

На своём компьютере

Скачать всю папку с копиями можно одной командой с вашего компьютера — с Windows, Mac или Linux:

scp -r ivan@ВАШ_IP:/home/ivan/backup .

Точка в конце — текущая папка на вашем компьютере. Команда каждый раз скачивает копии за две недели. Если нужна только свежая, удобнее забрать её мышкой в FileZilla или WinSCP — как их настроить, рассказано в статье Как подключиться к VPS по SSH.

В хранилище S3

Хранилище S3 — облачное место для файлов: сервер может каждую ночь сам отправлять туда копии. Оба хранилища ниже — в России: у Beget дата-центры в России, у Timeweb Cloud хранилище S3 пока только в Санкт-Петербурге. Это важно, если в базе есть данные посетителей: копии с ними тоже нужно хранить в России, подробнее — в статье Хостинг в России.

ХранилищеЦена30 ГБ копий, наш расчёт
Beget0,07 ₽ за гигабайт в день, трафик безлимитныйоколо 63 ₽ в месяц
Timeweb Cloud, класс «Холодный»1,1 ₽ за гигабайт в месяц, исходящий трафик 1,5 ₽ за гигабайт33 ₽ в месяц плюс 1,5 ₽ за каждый скачанный гигабайт

30 ГБ — это, например, ежедневные копии за месяц для сайта, архив которого весит 1 ГБ.

Бакет. Так называется «папка» хранилища. Создайте его в панели провайдера и не открывайте публичный доступ: у Beget публичная политика открывает все файлы бакета любому, кто знает адрес. Бакет Beget можно создать только в панели — из сторонних программ нельзя.

Ключи. У Timeweb Cloud ключи доступа — на вкладке «Дашборд» бакета. У Beget всё нужное — в блоке «Реквизиты доступа»: URL для подключения, имя бакета, Access key и Secret key. Имя бакета у Beget не совпадает с введённым при создании — берите его оттуда.

Программа. Копии в хранилище отправляет rclone, она есть в репозитории Ubuntu:

sudo apt install rclone
sudo nano /root/rclone.conf

Вставьте в файл настройки, подставив свои ключи:

[backup]
type = s3
provider = Other
env_auth = false
access_key_id = ВАШ_ACCESS_KEY
secret_access_key = ВАШ_SECRET_KEY
endpoint = https://s3.twcstorage.ru

Это настройки из документации Timeweb Cloud. Для Beget в строку endpoint впишите URL для подключения из «Реквизитов доступа»: отдельной инструкции по rclone у Beget нет. Файл с ключами закройте от всех, кроме root, и проверьте подключение, заменив ИМЯ_БАКЕТА на своё:

sudo chmod 600 /root/rclone.conf
sudo rclone --config /root/rclone.conf ls backup:ИМЯ_БАКЕТА

Если ключи, адрес или имя бакета неверны, rclone напишет ошибку. Если ошибки нет, а бакет пока пустой, команда ничего не выведет.

Строки в скрипте. Добавьте в /root/backup-site.sh перед строкой с echo две строки, тоже заменив ИМЯ_БАКЕТА на своё:

rclone --config /root/rclone.conf copy --s3-no-check-bucket "$KUDA" backup:ИМЯ_БАКЕТА/site
rclone --config /root/rclone.conf delete --min-age 30d backup:ИМЯ_БАКЕТА/site

Первая строка отправляет в хранилище новые копии, а те, что там уже лежат, пропускает. Ключ --s3-no-check-bucket запрещает rclone проверять и создавать бакет: у ключей может не быть на это прав. Вторая строка удаляет в хранилище копии старше 30 дней. Прежде чем добавлять её, проверьте, что она удалит. С ключом --dry-run rclone ничего не удаляет, а только пишет, какие файлы удалил бы:

sudo rclone --config /root/rclone.conf delete --min-age 30d --dry-run backup:ИМЯ_БАКЕТА/site

В Timeweb Cloud вместо второй строки можно настроить правило в панели бакета: вкладка «Настройки», строка «Жизненный цикл», «Настроить», «Добавить правило». Укажите префикс site/, действие «Удалить объекты» и срок 30 дней.

Не меняйте copy на sync. Команда sync делает хранилище точной копией папки на сервере и удаляет в нём всё, чего на сервере уже нет. На сервере скрипт хранит копии за две недели — sync стёр бы в хранилище всё, что старше. А если копии на сервере пропадут, sync сотрёт и копии в хранилище.

Проверка. Запустите скрипт вручную и посмотрите, что лежит в хранилище:

sudo /root/backup-site.sh
sudo rclone --config /root/rclone.conf ls backup:ИМЯ_БАКЕТА/site

Ключи от хранилища лежат на сервере. Если сервер взломают, удалить можно будет и копии в хранилище. От этого защищает блокировка объектов в Timeweb Cloud — Object Lock. В режиме COMPLIANCE заблокированную копию до конца срока не удалит даже администратор, а в режиме GOVERNANCE основной пользователь хранилища удалить её может. Включённую блокировку уже не выключить, поэтому сначала прочитайте документацию. Способ проще — раз в неделю или месяц забирать свежую копию на свой компьютер.

Проверьте, что из копии можно восстановиться

Раз в месяц и после любой правки скрипта проверяйте свежую копию. В командах ниже вместо ДАТА подставьте дату и время из имени файла.

Целы ли архивы — если всё в порядке, обе команды ничего не выводят:

gzip -t /home/ivan/backup/base-ДАТА.sql.gz
tar -tzf /home/ivan/backup/files-ДАТА.tar.gz > /dev/null

Дописан ли дамп до конца — последняя строка должна начинаться со слов «-- Dump completed on»:

zcat /home/ivan/backup/base-ДАТА.sql.gz | tail -n 1

Надёжнее всего восстановить базу во временную. Если MySQL или MariaDB поставлены из пакетов Ubuntu, администратор базы входит через sudo без пароля — так написано в справке Ubuntu Server и в документации MariaDB:

sudo mysql -u root -e "CREATE DATABASE proverka"
zcat /home/ivan/backup/base-ДАТА.sql.gz | sudo mysql -u root proverka
sudo mysql -u root -e "SHOW TABLES" proverka
sudo mysql -u root -e "DROP DATABASE proverka"

Если третья команда показала те же таблицы, что в базе сайта, копия рабочая. Последняя команда удаляет временную базу. Файлы проверьте так же — распакуйте во временную папку и посмотрите, что сайт на месте. Папку заведите в своей домашней, а не в /tmp: в Ubuntu 26.04 /tmp лежит в оперативной памяти, и большой архив займёт память сервера.

mkdir /home/ivan/proverka
tar -xzf /home/ivan/backup/files-ДАТА.tar.gz -C /home/ivan/proverka
ls /home/ivan/proverka/example.ru
rm -r /home/ivan/proverka

Как восстановить сайт из своей копии

Прежде чем восстанавливать, убедитесь, что сломан сам сайт, а не домен, оплата или сервер провайдера. Как это проверить, разобрано в статье Что делать, если хостинг лежит.

  1. Сохраните то, что есть сейчас: запустите sudo /root/backup-site.sh. В имени копии стоит время, поэтому прежние копии не затрутся. Если нужна одна из самых старых копий, сначала скопируйте её из папки с копиями, например в /home/ivan, и дальше берите её оттуда: при каждом запуске скрипт удаляет копии, которым 14 суток и больше.
  2. Отложите текущую папку сайта — не удаляйте, а переименуйте: sudo mv /var/www/example.ru /var/www/example.ru-old.
  3. Распакуйте файлы из копии: sudo tar -xzf /home/ivan/backup/files-ДАТА.tar.gz -C /var/www. Под sudo tar вернёт файлам прежних владельцев и права.
  4. Загрузите базу. Таблицы из копии заменят текущие: дамп сам удаляет их перед загрузкой.
zcat /home/ivan/backup/base-ДАТА.sql.gz | sudo mysql --defaults-extra-file=/root/.backup-db.cnf ИМЯ_БАЗЫ

Откройте сайт и проверьте его. Если всё работает, отложенную папку можно удалить: sudo rm -r /var/www/example.ru-old.

На сайте есть партнёрские ссылки на Timeweb, Timeweb Cloud и Beget: если вы оплатите хостинг, сервер или хранилище после перехода по ним, провайдер заплатит нам процент. Для вас цена от этого не меняется. Условия и цены копирования сверены со справкой и сайтами провайдеров 1 октября 2026 года.

Кому что

  • Визитка или блог на обычном хостинге — хватит копий хостера, если раз в месяц скачивать копию себе. Каждый день с хранением 30 дней копируют Timeweb, Спринтхост и Reg.ru.
  • Интернет-магазин или сайт с заявками — важна частота: каждый день появляются заказы. Ежедневные копии хостера плюс своя копия перед каждым обновлением. У Beget копия бывает раз в 3–4 дня, поэтому перед обновлениями делайте копию по запросу — одно место под неё бесплатное.
  • Сайт на VPS — свой скрипт из этой статьи, а копии провайдера — второй страховкой. У VPS от Beget копии бесплатные и лежат в другом дата-центре, у Timeweb Cloud они стоят 6 ₽ в месяц за гигабайт диска за каждую копию.
  • Копии вне сервера — хранилище Beget, если копии приходится скачивать: трафик безлимитный. «Холодное» хранилище Timeweb Cloud дешевле за гигабайт, но скачивание платное.

Частые ошибки

Что случилосьВ чём обычно дело
Access denied for user, в конце using password: YESНеверный пользователь или пароль в /root/.backup-db.cnf. Сверьте их с файлом настроек CMS и проверьте, что пароль взят в кавычки
Access denied for user, в конце using password: NOПароль не передан. Проверьте, что в /root/.backup-db.cnf есть строка password
Access denied; you need (at least one of) the PROCESS privilege(s)В команде mysqldump нет ключа --no-tablespaces
Unknown databaseОпечатка в имени базы в строке BAZA
Команды crontab нетПоставьте cron: sudo apt install cron
Вручную скрипт работает, а по расписанию копий нетСтрока расписания не заканчивается переводом строки или в ней есть знак процента. Проверьте путь к скрипту и журнал /var/log/backup-site.log
file changed as we read it, и скрипт остановилсяПока tar упаковывал папку, сайт менял в ней файлы — обычно это кеш. Исключите такую папку ключом --exclude
В папке лежит файл .sql без .gzДамп или сжатие оборвались, и скрипт остановился. Причина — в журнале. Такой файл удалите: дамп в нём может быть неполным, а старые копии скрипт удаляет только с окончанием .gz
rclone не может записать в бакетНеверные ключи или имя бакета. У Beget имя бакета берите из «Реквизитов доступа». Без ключа --s3-no-check-bucket rclone пытается создать бакет и упирается в права
Копии в хранилище пропалиВ скрипте sync вместо copy или delete запущен без --min-age
find удалил лишнееКлюч -delete стоит не в конце строки: find выполняет условия по порядку, и -delete в начале удалит всё в папке. Перед правкой строки запускайте её с -print вместо -delete
После восстановления у хостера остались лишние файлыTimeweb и Спринтхост не удаляют файлы, которых нет в копии. Перед восстановлением переименуйте папку сайта
Хостер не восстанавливает базуУ Спринтхоста и Reg.ru база должна заранее существовать в панели, у Timeweb — быть создана заново с тем же именем и паролем
VPS в SpaceWeb пропадает на 10–15 минутТак бывает, пока создаётся копия. Выберите для автоматических копий ночное время
Сервер удалили, а копий провайдера нетУ Beget и Timeweb Cloud копии не переживают удаления сервера. Для этого и нужна своя копия вне сервера
В копии хостинга нет архивов или больших файловСпринтхост не копирует архивы .zip, .rar, .tar и .gz, Reg.ru — файлы больше 300 МБ. Храните такие файлы где-то ещё
Файлы бакета открываются по прямой ссылке у кого угодноВключена публичная политика доступа. Отключите её в «Настройках доступа» бакета

Что почитать дальше

Справка Beget, Timeweb, Timeweb Cloud, Спринтхоста, SpaceWeb и Reg.ru, цены хранилищ S3, документация MySQL, MariaDB, rclone и Ubuntu Server сверены 1 октября 2026 года. Команды сверены со справкой Ubuntu 24.04 и 26.04, справка cron — с работающим сервером на Ubuntu 24.04. Если читаете сильно позже, проверьте по ссылкам в тексте.

Проверено и обновлено: 02.10.2026