Назад | Перейти на главную страницу

Как скопировать файлы с одного сервера Ubuntu на другой? (База данных MYSQL для миграции веб-сайтов)

Я новичок в Ubuntu, и моя первая задача - скопировать один веб-сайт с базой данных MySQL на другой сервер. Оба сервера являются виртуальными машинами и находятся в одной среде. У меня есть IP-адреса и учетные данные.

Конечно, я могу удаленно входить в систему со своего компьютера с Windows на обе машины (старый сервер имеет Ubuntu 10.10, новый сервер - Ubuntu 12.04).

Теперь мне нужно знать, могу ли я скопировать напрямую с одного сервера Ubuntu на другой или сначала на свой компьютер, а затем на другой сервер Ubuntu.

Или есть много решений?

Во-первых, нельзя просто зайти в мордор, я имею в виду копирование баз данных. Вам нужно это сделать право. Вы захотите убедиться, что нет текущих записей, а затем убедитесь, что все скопировано в ACID. Вы мог выключите базу данных, переместите ее, а затем поймете, что все пошло не так, потому что это разные версии ...

К счастью, в mysql есть инструмент для этого под названием mysqldump - а там вопрос о SO по его использованию с большим количеством примеров синтаксиса - это должно быть что-то вроде mysql -u<user> -p < db_backup.dump. Я бы также рекомендовал проверить версии, так как вам может потребоваться запустить сценарий обновления между версиями. Переместите файл DUMP, не копируйте базу данных. Запускаем дамп, запускаем скрипт обновления, тестируем. Как вы понимаете, у Mysql есть хорошие ресурсы, поэтому прочтите и убедитесь, что вы знаете, что делаете.

Если вы используете postgres, есть также pg_dump (у которого такой элегантный синтаксис). И это документация по резервному копированию на уровне файлов верно везде, поскольку выключение сервера - самый надежный способ избежать записи во время резервного копирования, что приведет к снижению согласованности.

Чтобы переместить файл дампа, пока есть довольно много способов SFTP вероятно, идеальное сочетание скорости и безопасности. Вы можете передавать файлы с компьютера на компьютер с помощью pscp или загрузите их в свою систему Windows, а затем повторно загрузите их с помощью Cyberduck. Поскольку у вас уже есть SSH, это должен быть самый простой способ сделать это.

Конфигурацию веб-сервера и файлы (IE, эффективное содержимое / etc / и / var / www) следует разрешать копировать, поскольку они не меняются постоянно.

Ты можешь использовать scp или rsync для прямой отправки файлов / каталогов между вашими серверами Ubuntu.

например.:

scp -r /local_dir/path user@otherhost:/remote_dir/path

Базы данных можно переносить с помощью функций резервного копирования / дампа и восстановления, которые обычно предоставляются программным обеспечением сервера БД (MySQL, Postegres и т. Д.). Точный процесс зависит от вашего сервера базы данных.

Вы можете использовать для этого rsync,
Пример,

мы предполагаем, что у вас есть ssh-доступ к обоим серверам, old.com - для старого, uname одинаков на обоих серверах, а дерево файлов для копирования - это / var / somedir для входа на новый сервер,


rsync -av user@old.com:/var/somedir/* /var/somedir/ 

Он войдет на old.com и запросит аутентификацию, затем создаст список файлов и скопирует содержимое в целевой объект на текущем сервере.


I hope you understand this...
Thank you