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

tar архивирует не все файлы

 , ,


1

2

Снова всех приветствую! 🙂

Имеется удалённый арендуемый VPS сервер (виртуализация - KVM) с Ubuntu 20.04. Пытаюсь заархивировать папку из под рута со снепшотом timeshift командой tar -cvzf /home/rdp-user/timeshift.tar.gz /timeshift чтобы скопировать себе в облако.

В архиве оказывается 183671 файла, а в начальной папке timeshift 213898 файла. Что-то пошло не так, варианты? 😑

Перемещено hobbit из general


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

Хитрый ход! 🐱‍👤👍

--- /tmp/1.txt	2024-06-21 17:49:55.957903375 +0300
+++ /tmp/2.txt	2024-06-21 17:55:59.769001231 +0300
@@ -1,214073 +1,214073 @@

Файл сжал до двух МБ, если посмотреть подробности надо будет: https://disk.yandex.ru/d/UsjV2R9oe0ELSA

И что в итоге, это нормально так для linux? Ошибок нет выходит?

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

Тебе подсказали идею, а не абсолютно рабочее решение.

из 2.txt нужно убрать первый символ / из каждой строки, а потом уже сравнивать.

И после этого файлы совпадают с точностью до 1 строки

-timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/system-systemd\\x2dcryptsetup.slice
+timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/system-systemd\x2dcryptsetup.slice
Ну это понятно из-за чего

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

Понял, выполнил удаление первого символа такой командой

find /timeshift | sed 's/.//' | sort > /tmp/2.txt

Теперь в сравнении осталось несколько строк:

--- /tmp/1.txt	2024-06-22 17:15:49.555005122 +0300
+++ /tmp/2.txt	2024-06-22 17:48:18.093379755 +0300
@@ -27028,7 +27028,7 @@
 timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/systemd-update-utmp.service
 timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/systemd-user-sessions.service
 timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/systemd-volatile-root.service
-timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/system-systemd\\x2dcryptsetup.slice
+timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/system-systemd\x2dcryptsetup.slice
 timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/system-update-cleanup.service
 timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/system-update-pre.target
 timeshift/snapshots/2024-06-19_02-01-33/localhost/lib/systemd/system/system-update.target

Когда я на домашнем компе делаю проверку архива winrar - ошибок нет, а когда пытаюсь открыть от имени rdp-user архив, xarchiver выводит сообщение: «An error occurred! Please check the ‘Store archiver output’ option to see it.» Игнорировать?

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

Скорее вопрос как ты файлы считаешь и с чего решил, что тебе чего-то не хватает, потому как файлы-сокеты и тп в архив не добавляются

Спасибо за разъяснение, не знал этого 🙂

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

Поверь в tar и прийдёт к тебе счастье.

Даже проверять не пришлось, просто оказалось, что дисковое пространство заканчивалось при разархивировании и он выдавал ошибку. Так что теперь всё в порядке, открывается без ошибок.

Kisliy
() автор топика
Последнее исправление: Kisliy (всего исправлений: 1)
Ответ на: комментарий от Kisliy

Точка - это второе имя того каталога, в котом ты находишься (текущего).

Те.е. ты даёшь команду tar архивировать весь текущий каталог. Иначе придётся заморачиваться, чтобы заархивировать дот-файлы.

Мой пример не очень удачный, потому что при нём нужно создавать каталог, переходить в него и только потом разархивировать архив.

Сделай в любом пустом каталоге ls -la и ты увидишь там точку:

drwxr-xr-x  2 root root 4096 Jun 24 21:07 ./
            ^

Двойка - это количество записей в системном файле каталога (кол-во хардлинков).

Одна запись - собственное имя каталога, а вторая - второе имя, которое представляет собой просто точку.

forest22
()
Ответ на: комментарий от Kisliy

Ну так архивируй /timeshift/snapshots/2024-06-19_02-01-33/localhost, а не все снапшоты. Если у тебя btrfs/zfs, то они тонну будут весить. У меня например под файловую систему выделено 340 гигабайт, из которых файлы занимают 140-150 гигов, а снапшоты в совокупности весят 3 терабайта

rtxtxtrx
()
Ответ на: комментарий от Kisliy

Хотел написать man tar но теперь даже в затруднении - какой ман посоветовать человеку, который не знает, что такое точка.

Я начинал с Фаронов «Операционная система: DOS». Оно, наверное, странно в линукс-треде прозвучит, может чего лучше посоветуют. Но лезть в консоль без абсолютно базовых знаний про компьютер возможно не лучшая идея.

vbr ★★★★
()