Start typing to search across invoices, services, domains, tickets, and more...
И для повседневной защиты данных, и при переезде на более мощный сервер IMIDC владельцу сайта нужны резервное копирование и перенос сайтов в aaPanel/BaoTa. Инструкция подходит для aaPanel и BaoTa Linux на Debian/Ubuntu и CentOS/Rocky/AlmaLinux: настраиваем бэкапы по расписанию, отправку копий в удалённое хранилище, разбираем общий порядок работы плагина переноса в один клик и самый надёжный ручной способ — tar для файлов и mysqldump для базы данных, а в конце приводим чек-лист смены DNS.
Откройте в боковом меню панели раздел Cron и создайте задачи типа «Backup Site» и «Backup Database». Выберите все или отдельные сайты, запуск ежедневно ночью и разумное число хранимых копий (например, 7) с учётом объёма диска. По умолчанию копии хранятся в /www/backup:
ls /www/backup/site /www/backup/database
du -sh /www/backup/*
df -h /wwwВ магазине приложений панели найдите и установите плагин хранилища (FTP, S3-совместимое объектное хранилище и т. п.), укажите данные доступа, затем в задачах Cron выберите это хранилище местом сохранения копий. В качестве цели для FTP или rsync можно использовать и другой сервер IMIDC — так вы получите географически разнесённый бэкап.
Разработчик панели предлагает плагин переноса в один клик. Общий порядок такой: установите ту же панель на новый сервер, включите в её настройках API и добавьте IP старого сервера в белый список; на старом сервере установите плагин переноса, укажите адрес и API-ключ новой панели, выберите сайты, базы и FTP-аккаунты и дождитесь окончания. Названия и интерфейс меняются от версии к версии — ориентируйтесь на свою панель. Версии PHP и MySQL на обоих серверах лучше держать одинаковыми.
Если плагин не сработал или нужно перенести лишь несколько сайтов, ручной способ даёт полный контроль. Выполните на старом сервере (замените example.com и example_db своими каталогом и базой). Ключ --single-transaction делает согласованный дамп InnoDB без блокировки таблиц.
# On the OLD server
mkdir -p /root/migrate && cd /root/migrate
tar -czf example.com.tar.gz -C /www/wwwroot example.com
# Export the database (consistent dump for InnoDB, keeps utf8mb4)
mysqldump -uroot -p --single-transaction --routines --triggers \
--default-character-set=utf8mb4 example_db | gzip > example_db.sql.gz
# Copy the Nginx vhost and rewrite rules for reference
cp /www/server/panel/vhost/nginx/example.com.conf /root/migrate/
cp /www/server/panel/vhost/rewrite/example.com.conf /root/migrate/rewrite-example.com.conf 2>/dev/null
ls -lh /root/migrateЗатем передайте файлы на новый сервер через rsync — он продолжает прерванную передачу и лучше scp справляется с большими файлами:
# Debian / Ubuntu
apt install -y rsync
# CentOS / Rocky / AlmaLinux
yum install -y rsync
# Push the files to the NEW IMIDC server
rsync -avP -e "ssh -p 22" /root/migrate/ root@NEW_SERVER_IP:/root/migrate/В новой панели сначала добавьте сайт с тем же доменом, создайте базу и пользователя с тем же именем (запишите пароль) и установите те же расширения PHP. Затем распакуйте файлы, исправьте владельца и импортируйте базу. Если пароль базы изменился, обновите конфигурацию сайта (например, wp-config.php в WordPress). Правила rewrite и SSL настройте заново в параметрах сайта — см. инструкцию «Сайт и SSL в BaoTa».
# On the NEW server, after creating the site and the empty database in the panel
cd /root/migrate
tar -xzf example.com.tar.gz -C /www/wwwroot/
chown -R www:www /www/wwwroot/example.com
gunzip < example_db.sql.gz | mysql -uexample_db -p example_dbДо смены DNS пропишите в файле hosts своего компьютера новый IP для домена и проверьте главную страницу, вход в админку, загрузку файлов и оплату. После проверки удалите эту строку.
# Windows: C:\Windows\System32\drivers\etc\hosts
# macOS / Linux: /etc/hosts
NEW_SERVER_IP example.com www.example.com# Final sync of uploads changed since the first copy (run on the OLD server)
rsync -avP /www/wwwroot/example.com/ root@NEW_SERVER_IP:/www/wwwroot/example.com/
# Verify DNS after switching
dig +short example.com A
nslookup example.com 8.8.8.8DNS ещё не обновился, у сайта не добавлен домен с www или без www, либо корневой каталог отличается от старого сервера. Проверьте список доменов и корневую папку в настройках сайта.
Обычно на новом сервере более старая MySQL без сопоставлений вроде utf8mb4_0900_ai_ci. Установите такую же или более новую версию либо замените сопоставление в дампе на совместимое.
Сделайте первую полную синхронизацию rsync, пока сайт работает, а при переключении — только инкрементальную. Простой сократится до нескольких минут.
Если проблема не решена, создайте тикет — техподдержка IMIDC работает 24/7. Укажите IP сервера, версию ОС, выполненные команды и приложите скриншот ошибки, чтобы мы быстрее нашли причину.