Создать декларацию домашней папки?

Я хочу создать декларацию файла (список файла/имен папок, структуры каталогов и метаданных файла) моей домашней папки. Я не хочу, чтобы фактическое содержание файлов было сохранено.

Как это может быть сделано (предпочтительно без терминала)?

2
задан 10 September 2014 в 07:03

1 ответ

Решение 1: Метаданные только [Редактирование]

Таким образом согласно чьему-то недавнему редактированию можно только хотеть к структуре файловой системы резервного копирования и метаданным апериодическим образом. Это может быть сделано легко:

find /home/furioususer -ls

перечислит все файлы и каталоги в каталоге /home/furioususer наряду с некоторыми метаданными. Перенаправить вывод в файл /path/to/backups/file использовать

find /home/furioususer -ls > /path/to/backups/file

Вы могли бы хотеть дать файлу некоторое понятное имя на основе имени пользователя и время резервного копирования:

find /home/furioususer -ls > "/path/to/backups/furioususer.metadata.$(date +%F_%T%z)"

$(date +%F_%T%z) говорит оболочке выполнять подкоманду date +%F_%T%z и замените его выводом той команды. (Разрешение попытка выполнить ту команду непосредственно, чтобы видеть результат и играть с ним!) Кавычки необходимы для предотвращения наиболее специальных символов (например, пробелы и двоеточия) как, они появляются в той строке даты от того, чтобы быть неправильно истолкованным. Конечно, можно выбрать любого другого (программно сгенерированный) путь к файлу, который Вы считаете соответствующими.

Можно настроить данные, которыми Вы на самом деле интересуетесь (например, размер, владелец, группа, полномочия, mtime, atime) путем замены -ls с -printf <YOUR FORMAT STRING>. Для получения дополнительной информации на той опции ищут руководство. Пример с путем к файлу, размером файла, владельцем, правами доступа и в прошлый раз модификации:

find /home/furioususer -printf "%p: %s bytes, owned by %u, permissions %m, last change %t\n"

Так как это может стать довольно большим все же хорошо сжимаемый, можно передать это по каналу через компрессор как xz:

find /home/furioususer -ls | xz > "/path/to/backups/furioususer.metadata.$(date +%F_%T%z).xz"

Можно обобщить эту команду немного при помощи переменных среды (формы ${}) вместо жесткого кодирования Ваш домашний путь и имя пользователя, что оболочка затем займет место с их соответствующими значениями:

find "${HOME}" -ls | xz > "/path/to/backups/${USER}.metadata.$(date +%F_%T%z).xz"

Восстановление от этого автоматически является совсем другой историей, но я не знаю, как это имело бы любое применение, поскольку Вы будете в значительной степени мертвы в воде без фактических данных файла.

Если Вы не хотите играть с командной строкой каждый раз, когда можно создать сценарий оболочки с помощью графического текстового редактора и начинающего приложения, указывающего на нее с редактором начинающего приложения.

Решение 2: Déjà-дубликат

… предлагает различные резервные опции – офлайн и онлайн – некоторые из которых, кажется, удовлетворяют Вашим потребностям. Это также хорошо интегрируется с Наутилусом, таким образом, можно легко рассмотреть и восстановить предыдущие версии файлов. Я никогда не пробовал его лично, но я исследовал его возможности сильно только что.

Решение 3: копия на записи snaphots

Самая гибкая и экономия ресурсов (офлайновое) решение, которое я знаю для этого, должна поместить Ваш корневой каталог на объем Btrfs ¹ и выполнить периодические снимки его. В прошлый раз я смотрел (приблизительно 1 год назад) не было никакого стандартного инструмента, чтобы сделать это, и я инвестировал несколько дней в изменение, тонкую настройку и тестирование сценариев оболочки других людей, чтобы заставить их проложить себе путь, я хочу.

Целое развертывание может технически быть сделано, не касаясь командной строки самостоятельно при многократном использовании существующей работы, но из-за экспериментального положения дел, Вы, вероятно, достигнете точек, где было бы намного легче сделать так. Поэтому я ожидаю, что это не будет никаким подходящим решением для Вас, но это может быть для других людей.

Если спросили к, я предоставлю код, инструкции и ссылки для рабочих решений включая мое собственное.

¹ ext3/4 может быть преобразован в Btrfs без проблемы

4
ответ дан 7 October 2019 в 03:11

Другие вопросы по тегам:

Похожие вопросы: