Я новичок в 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 и запросит аутентификацию, затем создаст список файлов и скопирует содержимое в целевой объект на текущем сервере.