Я унаследовал сервер Ubuntu 14.04, который мне нужно создать песочковую копию локально в VirtualBox, чтобы поэкспериментировать как часть подготовки к Обновите до Ubuntu 20.04, поскольку мы настоятельно подозреваем, что это не прямое обновление.
Чтобы сделать это, я хотел бы, я хотел бы получить полную резервную копию файловых систем сервера, чтобы восстановить в пустой виртуальной машине, которую я традиционно сделаю для dump Ext4
как root на сервере Файл, скопируйте этот файл локально и восстановить
. К сожалению, на сервере нет места для удержания полученного файла для корневой файловой системы.
Поэтому я экспериментировал с выбросом для стандарта в соединении SSH и захватите выходные данные локально, аналогично:
ssh -t me@there "echo MYPASSWORD | sudo -S dump -y -f - /boot 2>/dev/null " > boot.dump
(стандартная ошибка перенаправления - избегать, чтобы избежать наличия сообщений о дамке, смешанным в файл дампа)
Восстановление
(также до 14.04) не отказывается от этого файла дампа, поскольку он не проходит контрольные суммы. Если я создаю файл дампа на сервере и скопируйте его, это нормально.
Большинство ресурсов в сети запускают команду SSH на одном компьютере, что и команда дампа, поэтому файловые дескрипторы не смешиваются вместе.
Любые предложения?
Редактирование: Некоторые эксперименты с файловой системой / Boot
, показывают, что файл, созданный свалом напрямую, является 125932218 байт, и файл, созданный из команды SSH, составляет 125465751 байта, С разницей около 466000, которые - используя технику, описанную в https://stackoverflow.com/a/31417454/53897 - Похоже, \ R
символы (0D Hex) вставлены Впереди \ N
символ (0a hex). Так что это не о дополнительных сообщениях, которые молча объединяются в DataStream, но о том, чтобы не быть бинарным чистым. Интересно.
Я спросил о «Почему вставлен \ R» в https://unix.stackexchange.com/q/633543/4869 Где это было Быстро указал, что это особенность псевдо-TTY, выделенного -T
, который затем необходимо снова выключить. Смотрите этот вопрос для деталей.