Как полностью выполнить резервное копирование Ubuntu Server на другой Ubuntu Server (например, неработающий диск 1)
У меня есть маленький вопрос к Тебе. Я управляю небольшим выделенным сервером с установленным Ubuntu Server 16.04 LTS.
Я много искал, но я не нашел надежного и первого простого решения для резервного копирования моего сервера на другой сервер.
Более подробно: я использую Wordpress, Apache, Php, 2 базы данных Mysql и сервисы SFTP. Внутри есть один активный домен и один поддомен.
Вопрос в том, что я только что реализовал решение для резервного копирования только для содержимого моих сайтов. Но в случае, если диск будет сломан, например, есть ли способ сделать резервную копию всех файлов сервера (например, раз в месяц) и установленной программы (включая операционную систему) и создать своего рода файл, который я могу использовать для восстановления все конфигурации / файлы / установленные программы на другом сервере?
У меня нет физического доступа к серверу, и у меня нет службы моментальных снимков, доступной на хостинге (Kimsufi).
Я нашел это предложение, но не могу получить доступ к решению GRUB: Tar.
1 ответ
Существует множество инструментов, которые вы можете использовать для копирования файловых систем, таких как dd
или же rsync
Rsync
Позволяет копировать поверх SSH
Скопируйте ваш домашний каталог на другой сервер через ssh
rsync -a --delete --quiet -e ssh /folder/to/backup remoteuser@remotehost:/location/of/backup
Полное резервное копирование системы
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup/folder
И, наконец, rsync как инструмент клонирования дисков
rsync -qaHAXS SOURCE_DIR DESTINATION_DIR
со страницы руководства
-H, --hard-links preserve hard links
-A, --acls preserve ACLs (implies -p)
-X, --xattrs preserve extended attributes
-S, --sparse handle sparse files efficiently
дд
Я не думаю, что вы можете использовать dd поверх ssh, так что вам придется использовать скрипт для загрузки файла или просто скопировать на флешку, но клонирование диска (о чем вы спрашиваете) - это то, что было разработано dd за
Клонировать весь диск
dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync status=progress
Вы могли бы попробовать этот обходной путь для использования dd через ssh-туннель, хотя мой совет будет сначала протестировать его на пару виртуальных машин, прежде чем запускать его на голом металле dd
Это мощный инструмент, как сказал дядя Бен: "С большой силой приходит большая ответственность", легко уничтожить файловые системы с помощью dd. Без лишних слов... обходной путь
ssh server1 'dd if=/some/file' | ssh server2 'dd of=/new/file/path'