Переезжаем со старого VPS на новый -
более мощный, но с меньшим объемом дискового пространства.
На старом VPS
более сотни WordPress-сайтов
Перенести нужно избирательно ( не все ) на новый VPS
Делать это вручную сильно утомительно. Хочется по максимуму автоматизировать данный процесс.
Думаю создать shell-скрипт с помощью которого пройдусь по всем папкам нужных мне сайтов, положу внутрь их бэкапы БД:
1) пройтись по выбранным папкам внутри каталога
не знаю как это делать, подскажите?
2) для каждого сайта определить его БД, так как это Wordpress-сайты то:
надо как-то прочитать
DB_USER, DB_PASSWORD, DB_NAME из
wp-config.php файла в папке каждого сайта
думаю что решение здесь:
https://stackoverflow.com/questions/7586995/read-v...
3) далее сам бэкап:
mysqldump -u USER -pPASSWORD DATABASE | gzip -9 > dump.sql.gz
4) копируем папки на новый VPS:
rsync -rvp old_vps_path_site www-root@XX.XX.XX.XX:/new_vps_path_site
соотв. получу всё что мне нужно на новом VPS, на котором нужно будет придумать shell-скрипт который:
1) пройдет по всем папкам новых сайтов
не знаю как это сделать - подскажите?
2) прочитаю
DB_USER, DB_PASSWORD, DB_NAME из
wp-config.php файла в папке каждого сайта
вроде как решение тут:
https://stackoverflow.com/questions/7586995/read-v...
3) создам БД и пользователя с правами:
mysql -u root
create database $DB_NAME;
grant all privileges on $DB_NAME.* to $DB_USER@'localhost' identified by $DB_PASSWORD;
FLUSH PRIVILEGES;
4) импортирую в базу данных все таблицы с данными:
gunzip < dump.sql.gz | mysql -hlocalhost -u$DB_USER -p$DB_PASSWORD $DB_NAME
5) удалю dump.sql.gz из папки сайта
rm -f dump.sql.gz
может есть что-то похожее из готовых решений?
может я ошибаюсь в подходе или что-то не так?