LINUX.ORG.RU
ФорумTalks

«Умный» file manager + архиватор

 ,


0

1

Многоуважаемый all,

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

К примеру, дано, скажем, более 10k файлов в более чем 1k директориях, файлы разнородны по типу, более-менее (процентов 40% лежит случайным образом, по принципу «куда упало (path), там и осталось, так и назвалось (filename)») рассортированы логически (с точки зрения человека) по директориям, имеют разный с точки зрения архивации процент полезного сжатия.

Ещё раз, один большой архив делать не хочется, да и объём может быть более сотни гигабайт. Вот скажем, директория с офисными документами, презентациями, html справочниками и видео к ним, всё разложено по директориям, хотелось бы сжать «хорошо» сжимаемый контент, заменив оригиналы, оставляя вместо них архивы, а видео (и прочий уже сжатый контент) оставить рядом с ним.

Вручную это делать очень муторно.



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

чем этим? меня интересует именно сильная архивация (7z, к примеру), а не то, что, скажем, предлагает NTFS, тем более она это не делает автоматически, насколько помню там можно просто архивировать весь том. Да, и этот процесс не автоматизируется полностью, мне просто нужен «умный» помощник который пометит кандидатов на архивацию, поможет найти дубликаты и дальше быстрой уже разместить файлы в нужных директория.

Хотя, если бы в ФС или стандартном FM была такая функция, было бы хорошо.

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

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

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

Ну короче цикл. Бегает по директориям рекурсивно, встречая файл определяет его содержание (по расширению или с помощью, например, file) и сравнивает со списком поддающихся сжатию форматов. Если да, то сжимает. Можно даже для каждого формата свой архиватор указать.

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

и ви таки считаете, что подобный лисапед никто не написал еще?
Я таки первый кому пришла в голову такая идея? :)

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

Ну дык где реализации? Я не видел такого.

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

спасибо, можно хоть на Cи написать. Ищется то готовое ПО.

Люди, вы как вообще-то разгребаете файлы-то?

Den0k
() автор топика

1.Использовать файловую систему со сжатием. Но сжатие будет незначительным, уменьшится около трети объема. Плюс в том, что сжатие происходит на лету и подходит для часто меняющихся данных. Минус - приличная нагрузка на процессор.

2.Задействовать файловую систему сквош. Сжатие уменьшит объем примерно в 3 раза. Плюс - минимальная нагрузка на процессор при распаковке (на лету). Минус в том, что сжатие нужно задействовать вручную. Отлично подходит для редко изменяемых данных. Рекомендую lzo - сжатие (1Гб на интел атоме n270 минут 20) и распаковка (на лету) самые быстрые.

mksquashfs --help

см. filesystem append option

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

а поподробнее, чем она может тут помочь?

Умеет сжатие данных на лету. Говорят, в последних ядрах её почти довели до ума.

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

Люди, вы как вообще-то разгребаете файлы-то?

а какие файлы то ?

например, с приходом доступного интернета документация offline стала почти ненужна

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

документация offline стала почти ненужна

а она что сама от сортировалась и «жирные» файлы сами сжались, дубликаты схлопнулись, а файлы типа «Изображение001.png» тоже сами переименовались в «ФотоКорпоратив.png»? как только прошли через маршрутизатор? :)

Den0k
() автор топика
find . <тут ты задаешь критерий какие файлы сжимать>| while read filename;
 zip "${filename/.*/}.zip" "filename";
 echo rm "filename";
done;

ну как включить удаление думаю ты догадаешься?

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

а она что сама от сортировалась ...

если это документация на известные вещи, то «да» - гугл отсортировал )

документацию созданную в конторе кроме самих работников никто и не отсортирует, и нет таких сабжей думаю

или я не до конца понял задачу ?

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

а поподробнее, чем она может тут помочь?

Hole punching, deduplication ну и собственно сжатием.

RussianNeuroMancer ★★★★★
()

Так чем тебя btrfs не устроила? Сжатие умеет, разве что она в состоянии беты пожизненно.

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

Люди, вы как вообще-то разгребаете файлы-то?

Никак. Каждые пару недель я уделяю полчаса на разгрёб того, что у меня скопилось. А то и вообще не допускаю помойки. А благодаря чёткой структуре каталогов я даже поиском не пользуюсь.

IPR ★★★★★
()

Просто купи себе накопитель побольше.

Kindly_Cat
()

7z

В линуксе и LZMA хорош.

Работа с архивами так же, как с подкаталогами. Вы можете легко копировать файлы в архив и из него. Поддерживаются следующие типы архивов ZIP, TAR GZ, TGZ, LZMA, а также BZ2, RPM, CPIO, DEB, RAR

http://doublecmd.sourceforge.net/

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

MC же, зачем тут эта дельфеподелка

Скажи лучше зачем нужны плюсоподелки при наличии адекватной замены.

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

думал об этом. а как он определит что стоит сжимать, а что нет?

Попробует сжать. Если не сжимается нифига, то трогать не будет. Либо по типу файла.

Sadler ★★★
()

Вручную это делать очень муторно.

один цикл на баше

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

stevejobs ★★★★☆
()

Так, как это сделано в /usr/share/man ?

Вручную это делать очень муторно.

5-7 строчек скрипта - это муторно?

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

Я таки первый кому пришла в голову такая идея? :)

Спасибо за годную идею.

drull ★☆☆☆
()

mc - поиск по маске например *.doc - панелизация файлов - выбрать все файлы - f2 - сжать файл в gz или bz2

профит. Я так модули ядра жму в gz.

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