Перемещение файлов и баз данных с одного сервера на другой
Я должен переместить весь свой веб-сайт с исходным кодом, базами данных и другими вспомогательными программными модулями из одной системы в другую. Обе системы имеют операционную систему CentOs. Используя шпаклевку, я должен переместить данные. Чтобы быть в безопасности, я создал нового пользователя с правами суперпользователя. Прямо сейчас у меня есть свежеустановленные LAMP и phpmyadmin в новой системе. Параметры конфигурации ( httpd.conf, php.ini и другие неизвестные параметры), права доступа к файлам, разрешения для папок и другие. все должно быть одинаково. какие шаги нужно предпринять для достижения этой цели
2 ответа
Я обычно использую rsync
, Наличие пользователя root делает процесс еще проще, поскольку вы можете гарантировать сохранение прав.
SSH в новую коробку Linux и выполните это rsync
команда:
root @ new-host # rsync -avl - удалить --partial --progress root@old-host:/old/dir/ /new/dir/
Используемые флаги rsync означают:
-a
- режим архива или рекурсивная копия-v
- подробный-l
- сохранить символические ссылки--delete
- удалить файлы на цели, которые не существуют в источнике--partial
- возобновить копирование на огромные файлы--progress
- показать индикатор прогресса
Эта команда убедится, что /new/dir/
на новом сервере точно так же как /old/dir/
на старом. Красота rsync
в том, что вы можете прервать эту команду, если ваше дерево огромно, или выполнить его много раз - каждый раз, когда оно будет работать быстрее и приближать вас к конечной цели - иметь два одинаковых дерева.
Я был в состоянии успешно передать с помощью команды scp
Команда ниже должна быть выполнена из источника
scp -r @:
-r рекурсивная передача файлов
Все разрешения были сохранены