LINUX.ORG.RU
решено ФорумAdmin

backup раздела с помощью tar

 , ,


0

1

Здравствуйте. Хочу сделать backup корневого каталога с помощью tar при загрузке с Live CD, но не могу разобраться как сделать так, чтобы tar не прописывал полный путь к архивируемому каталогу. Есть /, /home, /boot, swap, разнесенные по разным разделам. Ubuntu 16.04. Задача забэкапить каталог / со всеми файлами, в т.ч. скрытыми.

Последовательность моих действий:

  • 1. Загрузка с LCD, sudo -i
  • 2. Монтирование каталога / и внешнего диска, куда хочу делать бэкап: mkdir /mnt/{sda5,HDD}; mount /dev/sda5 /mnt/sda5; mount /dev/sdc /mnt/HDD;
  • 3. Перехожу в смонтированный корень cd /mnt/sda5
  • 4. Что пробовал с tar: список
  • 4.1 tar cvzpf /mnt/HDD/backup.tar.gz .
  • 4.2 tar cvzpf /mnt/HDD/backup.tar.gz ./
  • 4.3 tar cvzpf /mnt/HDD/backup.tar.gz /dev/sda5/
  • 4.4 tar cvzpf /mnt/HDD/backup.tar.gz
  • 4.5 tar с параметром -C тоже не зашел

(в любом случае добиться того, чтобы в архиве были сразу папки корня: /root, /bin, /usr и т.д. не получается. В самом близком варианте вышло создать с помощью варианта 4.1 архив, в котором основной каталог получается ".", а уже в нем дальше по порядку каталоги с sda5. С * вместо . вроде что-то похожее на необходимый результат, но не добавляются скрытые файлы(

Но мне очень хочется чтобы родительские каталоги не попадали в архив.

Пробовал с помощью chroot сделать корнем каталог /dev/sda5 и запускать что-то типа tar cvzpf backup.tar.gz / но тогда надо монтировать внешний диск куда-нибудь уже в новом корне, например, в тот же /mnt и потом исключать этот каталог из монтирования путем --exclude, но примонтировать HDD не удалось. Ключ -С к tar добавлять пробовал, тоже ничего.

Существенного решения не нашел. Кто знает как правильно избавиться от родительского каталога в tar, отзовитесь)



Последнее исправление: PanArte (всего исправлений: 1)

Ответ на: комментарий от kostik87

за ссылку спасибо.

  • 4.1 Дает результат с каталогом "." в корне архива. Что лучший вариант, но еще не то:)
  • 4.2 тот же результат
  • 4.4 Cowardly refusing to create an empty archive

    И вот как убрать этот каталог (.) из корня архива ума не приложу.

PanArte
() автор топика
Ответ на: комментарий от PanArte

*

вот если в 4.1 заменить "." на «*», то архивируется сразу в корень архива, без родительских каталогов, но по-моему без скрытых файлов. Где-то попадалась статья, что при backup «*» вообще не надо использовать

PanArte
() автор топика
Ответ на: комментарий от anonymous

этот вариант так же создает архив с корневым каталогом ".":

./lib/modules...

Я понимаю, можно не морочить ни себе, ни людям голову, а сделать все с работающей системы,

tar cvzpf /backup.tar.gz / 
Но очень хочу уж докапаться до истины. Не может же быть, чтобы такая простая (с виду) задача не решалась относительно легко.

PanArte
() автор топика
Ответ на: комментарий от anonymous

Да, так и извлекаю. Точек нет, вы правы. Но они (вернее она) есть, когда я создаю архив

tar -cvzpf /mnt/HDD/backup.tar.gz -C /mnt/sda5 .
по-крайней мере структура каталога, когда идет отображение процесса архивации (опция -v), выглядит как
./lib/modules....
./lib/modules....
./lib/modules....
./lib/....
./home/....
./boot/....
Но видимо это не имеет существенного значения, раз при извлечении архива все извлекается правильно.

PanArte
() автор топика
Ответ на: комментарий от anonymous

) точно Это для таких как я перфекционистов

Спасибо за участие.

PanArte
() автор топика
Ответ на: комментарий от PanArte

Дает результат с каталогом "." в корне архива.

Эта директория тебе ничем не помешает при распаковке её не будет.

Чем ты там архив открываешь?

kostik87 ★★★★★
()
Ответ на: комментарий от PanArte

Я понимаю, можно не морочить ни себе, ни людям голову, а сделать все с работающей системы,
tar cvzpf /backup.tar.gz /

И получить тоже самое. Кстати при таком варианте tar еще и напишет что снес лидирующий слэш (v уберите и увидите его первой строкой).
./ это текущий каталог что собственно абсолютно правильно, мыж бэкап можем развернуть куда угодно не обязательно по абсолютному пути. Вообще говоря у tar есть ключик что бы записать абсолютный путь, но создание таких архивов очень близко к выстрелу в ногу, случайно на рабочей системе разархивировали и звиздец.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.