Как я могу восстановить backup.tgz
файл, созданный с другого Linux-сервера на моем собственном сервере? Я попробовал следующую команду:
tar xvpfz backup.tgz -C /
Вышеупомянутая команда работала, но она заменила существующие системные файлы, из-за которых мой Linux-сервер не работал должным образом.
Как восстановить без проблем?
Если не указано иное, утилита tar будет извлекать файлы в исходное дерево в текущем каталоге, например, если вы находитесь в / home / antonio / recovery, и вы вводите команду
tar xvpfz backup.tgz
файлы будут восстановлены в /home/antonio/recovery...
Если вы используете параметр -C, это указывает tar сменить каталог и извлечь файлы в дерево с корнем, например
tar xvpfz backup.tgz -C /tmp
скажет tar перейти в / tmp и извлечь файлы в /tmp/...
.
Ты можешь использовать --skip-old-files
команда сказать tar
не перезаписывать существующие файлы.
Вы все равно можете столкнуться с проблемой с файлами резервных копий, если версии программного обеспечения на двух серверах различаются. Возможно, произошли некоторые изменения в структуре файла данных, и что-то может перестать работать.
Следует разработать более совершенный процесс резервного копирования.
Совет: возможно, вы не хотите восстанавливать все, а только файл или каталог.
Используйте эту команду для просмотра содержимого резервной копии:
tar -tzf backup.tgz | grep toys.db (или все, что вы ищете)
и предположим, что он возвращает что-то вроде этого: ./home/myname/play/toys.db
Чтобы восстановить его, вы можете: tar -xvpzf backup.tgz -C / tmp ./home/myname/play/toys.db
файлы ascii можно восстановить с помощью
просмотрите / tmp / somefile и посмотрите, что вы хотите скопировать из / dev / в исходное место.
Если вы используете ext2, возможно, вы можете попробовать команду восстановления.
Мой совет из двух пенни на будущее: пожалуйста, всегда читайте справочную страницу о командах и аргументах, прежде чем запускать.