LINUX.ORG.RU

архивирование данных

 


0

1

Всех приветствую.
Возникла такая проблема.
Есть у меня рабочий комп с терабайтным забитым под завязку «хомяком». Иногда требуется это все бекапить. Но во в чем загвоздка, файлов там больше 2 млн. Все это копируется очень-очень долго. При этом, там примерно 80% уже не актуальных проектов, который с одной стороны иногда нужны, с другой держать их в развернутом виде смысла нет. В связи с чем вопрос.
Ищется способ архивирования крупных проектов разложенных в каталогах так, чтобы один проект занимал один архив (размером от 1 до 100Гб, да проекты разные бывают). При этом хочется чтобы можно было в этот архив очень быстро занырнуть, просмотреть дерево файлов и в случае чего очень быстро извлечь нужные.
tar.bz2 не подходит, потому как «занырнуть» замучаешься ждать, просто tar также не подходит (пока он просканирует весь архив, можно постареть на неделю). Интересует какое-то решение под линукс чтобы все было в одном файле (удобно бэкапить) при этом легкий и быстрый просмотр и извлечение части.

★★★★★

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

хм, я канешно попробую, но если там постоянный геморрой с маунт/умаунт, то это отстой. с другой стороны если mc сам это может делать на лету (как ISO), то круто.

yax123 ★★★★★
() автор топика
Ответ на: комментарий от yax123
/etc/mc/mc.ext

Можешь посмотреть как там организована работа с iso и пр. архивами, может придумаешь как squashfs добавить.

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

Можешь посмотреть как там организована работа с iso и пр. архивами, может придумаешь как squashfs добавить.

тут уже придумали: http://forum.puppyrus.org/index.php?topic=9032.0

правда пока у меня не взлетело

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

У меня тоже не получилось, где mc хранил логи ошибок? Там должен быть ответ.

Deleted
()
Ответ на: комментарий от conalex

«нырять» и извлекать части - bconsole.

без интеграции в файловые манагеры не щитова

информация о файлах хранится в базе данных

это что еще «oracle» держать на локалхосте? - это упорин форте!

yax123 ★★★★★
() автор топика

А zip или rar не подойдут? У них, вроде бы, оглавление лежит отдельно и сканируется быстро.

ddos3
()

Прилаживай squashfs Но готовых решений нет.

Rar, к сожалению, очень инородно смотрится в линуксовом окружении. Ключи cli наркоманские, гуя как винде нет.

7z имеет не менее наркоманские ключи, кривуя работу с stdout,stdin,stderr. Гуя также нет.

Всем оберткам типа Archiver я не доверяю. Сколько работал с winrar - никогда не возникало мыслей, а что если оно сглюкнет, а я и не замечу. А все эти Ark, и подобные обертки, как-то всё молча делают: могут и половину файлов «забыть» запаковать, или gui интерфейс раком встает.

Вот недавно было, Archive manager из гном который, создавал архив, а потом хотел пароль на него поставить. Открылось окно ввода пароля. Ну я переключился на keepassx, потом обратно. А окошко с вводом пароля куда-то улезло, а главное окно задизеблено. Потыкал, потыкал, потом убил процесс. Ну и что за фигня, на ровном месте. Поэтому, только консоль.

Deleted
()

Все это копируется

rsync

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

А zip или rar

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

yax123 ★★★★★
() автор топика

примерно 80% уже не актуальных проектов, который с одной стороны иногда нужны, с другой держать их в развернутом виде смысла нет
tar.bz2 не подходит, потому как «занырнуть» замучаешься ждать, просто tar также не подходит

для этих 80% подойдёт обычный zip

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

без интеграции в файловые манагеры не щитова

baculafs

это что еще «oracle» держать на локалхосте? - это упорин форте!

sqlite

припоминаю твою маниакальную любовь к минимализму, поэтому предложил именно вариант «мини» для твоей хотелки. или иди нырять в бассейн))

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

rsnapshot

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

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

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

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

yax123 ★★★★★
() автор топика

У Вас повышенный интерес к архивам и уже давно судя по профилю.Не сочтите за наглость на чем он держится?

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

У Вас повышенный интерес к архивам и уже давно судя по профилю.Не сочтите за наглость на чем он держится?

Я вообще-то с анонимами в дискуссии стараюсь не вступать. Но раз тут не лолксы, так и быть отвечу.

Вопроса не понял. С чего вы взяли, что у меня повышенный интерес? И что в моем профиле на это указывает? За наглость не считаю и готов ответить, но пока не улавливаю смысла вопроса.

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

Никогда такого не понимал. Создать мусорный аккаунт для техразделов минутное дело.

qula
()
Ответ на: комментарий от yax123

Сорри, спутал Вас. По теме. Поддержу уже предложенный squashfs. Сжатие lzo работает шустро, просмотр и чтение получится быстрее чем просто с hdd читать. Ну да файловую систему нужно как минимум разок примонтировать будет.

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

У меня тут по комнате мухи летают, как думаешь, против них M61 Vulcan нормально подойдёт?

sin_a ★★★★★
()

tar + pixz. MC придётся немного допилить для быстрого «заныривания».

anonymous
()
6 марта 2017 г.

рабочее решение

Решил таки добить открытие squashfs через mc. И вот что получилось.
За основу взял следующее решение:
http://forum.puppyrus.org/index.php?topic=9032.0
правда пришлось его слегка подправить.
Итак:
1. в /usr/libexec/mc/extfs.d кладем файл squashfs следующего содержания

#! /bin/sh

UNSQUASH=/usr/bin/unsquashfs

mcsquashfs_list () {

$UNSQUASH -ll "$1" | awk '
{if (NR == 1) { next }}
{if (NR == 2) { next }}
/^$/ { next }
/^d/ { next }
{
        sub("/", " ", $2)
        date = substr($4, 6, 2) "-" substr($4, 9, 2) "-" substr($4, 1, 4) " " $5
        sub("squashfs-root", "",  $6)
        name = $6
        {if($7 != ""){name = name " " $7}}
        {if($8 != ""){name = name " " $8}}
        printf "%s 1 %s %s %s %s\n", $1, $2, $3, date, name
}'
}

mcsquashfs_copyout () {
        TMP_DIR="/tmp/squashfs_temp"
        [ ! -d $TMP_DIR ] && mkdir $TMP_DIR
        $UNSQUASH -f -d $TMP_DIR $1 -e /$2 > /dev/null
        mv $TMP_DIR/$2 $3
        [ -d $TMP_DIR ] && rm -r $TMP_DIR
}

LC_ALL=C

cmd="$1"
shift

case "$cmd" in
  list)
    mcsquashfs_list "$@";
    exit 0;;
  copyout)
    mcsquashfs_copyout "$@";
    exit 0;;
esac
exit 1
* проверить путь к unsquashfs

2. в mc.ext добавить следующее:

#squashfs
regex/\.(sfs|tcz)$
  Open=%cd %p/squashfs://
  View=%view{ascii} unsquashfs -ll %f
от каноничного варианта отличие в строке Open

Ну и понятно, что в ядре должна быть поддержка и unsquashfs должен быть установлен. Проверял на GNU Midnight Commander, версия 4.8.18

А я пошел все сжимать.

yax123 ★★★★★
() автор топика
Последнее исправление: yax123 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.