Я должен переместить весь свой веб-сайт с исходным кодом, базами данных и другими вспомогательными программными модулями из одной системы в другую. Обе системы имеют операционную систему CentOs. Используя шпаклевку, я должен переместить данные. Чтобы быть в безопасности, я создал нового пользователя с правами доступа root. Сейчас у меня есть свежая установка 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 рекурсивная передача файлов
Все разрешения были сохранены