LINUX.ORG.RU
ФорумTalks

Есть софт для каталогизации своих hdd

 


1

2

Накопилась у меня за более, чем 10 лет уже кучи hdd, в них какие-то бекапы делал, что-то хранится. И я стал путаться и забывать, где что есть.

Софт должен

1) Сканировать hdd (каталог) и заносить в БД записи какие файлы где лежат.

2) Анализировать потом эту БД и выдавать список файлов с перечнем мест (носителей) для хранения. Одинаковыми считать файлы с одинаковыми именем и длинной. Может с фильтрами по размеру, дате и пр.

3) Не учитывать мусорные файлы, вроде тех, что рядом с сохраненными html. Сами html учитывать. А то будут мегатонны всяких js, css и прочего.

Есть что-то такое готовое?

★★★★★

Купи себе NAS

UVV ★★★★★
()

Я это проходил 15 лет назад. Повзрослей уже и купи/собери NAS

Lordwind ★★★★★
()

Пакет (m|p)locate

Подключаешь диск, сканируешь командой updatedb … сохраняешь результат в файл по имени диска

Потом сможешь искать командой locate в нужном файле (диске)

Быстро и стандартно.

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

UVV Lordwind linuxoidspb

И чем же мне поможет NAS разобраться с уже имеющимися дисками? Коих где-то штук 15 я даже точное количество не помню. Как и всех мест, где они лежат. LOL. А также по-хорошему еще и разных dvd и cd записанных.

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

Потом сможешь искать командой locate в нужном файле (диске)

Чем это принципиально отличается от find . ?

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

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

если ты имеешь ввиду find … > result.txt

и потом поиск по result.txt, то принципиально ничем

Очень важный вопрос: Что ты понимаешь под каталогизацией? Ну рассортирует тебе mp3, pdf, … по группам и что тебе это даст?

Тот же grep ‘.pdf’ result.txt выдаст ту же группу пдф файлов

Чтобы знать, что можно удалить и использовать повторно.

Кто кроме тебя это решит?

Ну можешь еще использовать tree, для визуализации кто где и под кем

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

Очень важный вопрос: Что ты понимаешь под каталогизацией?

Наверное надо сказать, какую задачу я хочу решить.

У меня на куче hdd развелась куча дублей. Поэтому надо И очистить, освободив лишнее место И составить каталог файлов.

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

md5sum по в общей сумме паре-тройке десятков терабайт - это и долго и муторно из-за разбросанности. Лучше по имени/длине файлов ориентироваться. Притом для длинных файлов, больше сотни Мб, наверное для первичной оценки и вовсе только длинна годится.

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

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

что md5sum, что name+size не принципиально

find -type f -printf "%s/%f\n" > disk1.txt

sort + uniq 
...

находишь дубли в одном диске, потом ищешь между дисками

быстрее чем искать волшебную программу

futurama ★★★★★
()

У меня три хдд. На одном мультике для детей, на другом фильмы для детей. Третий валяется где-то в шкафу и нмкто не знает, что на нём. Первые два дети каталогизируют сами. Старшая научилась покупать на торрентах и сама всем рулит.

П.С. тут другая беда. У меня ящик со старыми сд/двд. Большая часть неподписана.

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

меня ящик со старыми сд/двд. Большая часть неподписана.

Можно выкидывать, большая часть уже будет нечитаема.

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

А у меня было 10, даже подставку для них заколхозил. А CD+DVD так тыщи полторы в сумме. Тебе нужно ломать мышление и переходить к более прогрессивному методу хозяйствования, как сказал бы Маркс-айтишник. Потому что...

на куче hdd развелась куча дублей

какая-то автоматизация и/или удобный интерфейс

чистить все-равно надо полуавтоматически

с NAS таких проблем нет. И там это решается как 2 пальца. Ты хочешь условно получить электричество и при этом остаться в бронзовом веке, не понимая, что физику рабы и крестьяне родить не могут при всем желании.

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

А вот и старые песни о главном. Мои читаются через 20 лет.

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

Можно выкидывать, большая часть уже будет нечитаема

У меня в машине сд-магнитола. Дискам, которые в ней крутятся, 10+ лет. Они живут в машине зимой и летом. И если что-то не читается, так это потому, что они уцарапанные в хлам.

utanho ★★★★★
()

Есть что-то такое готовое?

Кнопочка «синхронизировать каталоги» с настройками и фильтрами в Total commander. Доступна даже домохозяйкам.

quickquest ★★★★★
()

Посмотри универсальный каталогизатор https://www.datacrow.net
Он родился как БД записанных CD-DVD с программами и вырос до универсального каталогизатора.
А вообще, идея найти копии файлов на разных дисках и их удалить - противоречит идее надежного хранения копий. Чем больше копий на разных носителях - тем надежнее!

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

ZFS raidz3 или ZFS draid3

Объедини все свои диски в один большой массив и не мучайся.

А если уж нравится хранить на отдельных, то можно просто:

ls / -R > hddN100500.txt

или найти более навороченную команду линукс, чтобы красиво типа pstree?

Еще можешь их проиндексировать в http://www.recoll.org/ Ищет мгновенно даже по содержимому. Если речь идет о софтовых пакетах, то в них все же обычно вкладывают какие-то readme, маны, хелпы и т.п., вот их то они и проиндексирует.

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

/mnt/D01, /mnt/D02, ...

И промаркируй надписями или наклейками на дисках.

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

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

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

Под виндой MyLib, под вайном работает. Можно по папкам в гуе гулять

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

а что ещё есть из подобных программ? Recoll тормозной и требует денег за неполноценную виндовс-версию, DocFetcher жирный (джава) и ещё хуже справляется с флективными языками (recoll хоть и без лемматизации, но хотя бы fuzzy matching производит)

token_polyak ★★★★★
()

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

Разумно будет, как выше указали, сначала вовлечь данные в единое хранилище, а затем уже с ними разбираться. Причем необязательно NAS, если есть просторный десктоп.

Лучше всего - btrfs raid1 (отлично работает на дисках неравного объема), сжатие, резервные копии через тот же btrbk на другой накопитель/массив накопителей по всем канонам резервирования (оффлайн, в другом месте, этц.). Родное, линуксовое, железобетонное решение на все времена.

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

Из подводных камней:

  • не сможешь понтоваться ънтерпрайзной ФС из недр почившей Sun
  • засмеют лорчане, застрявшие в неверных представлениях позапрошлого десятилетия
token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 7)

В детстве писал, работало, подкорректируй для себя.
allsets.dump:

BEGIN TRANSACTION;
CREATE TABLE metadata				( 
	ND		INTEGER PRIMARY KEY,
	md5sum          TEXT,
	FullFileName	TEXT NOT NULL UNIQUE
	                                        );	
END TRANSACTION;


allsets.sh
#!/bin/bash

if [ -f allsets.db ] 
then 
 cp --backup=numbered allsets.db allsets.db.bak
 rm allsets.db
fi

if [ -f allsets.dump ]
then 
 cat allsets.dump | sqlite3 allsets.db
else 
 echo "No sqlite dump file. Exiting"
exit 100
fi

SEARCHPATH="/home/user/Изображения/Походы /home/user/Изображения/Растения /home/user/Изображения/Грибы"
echo "Working at $SEARCHPATH"

ALLFILES=all.files

find  $SEARCHPATH -type f > "$ALLFILES" 2>/dev/null	

#Проверка, если есть файлы вообще
if [ -f "$ALLFILES" ]
then
 FSIZE="`ls -l "$ALLFILES" | cut -d " " -f 5`"
 if [ "$FSIZE" -eq 0 ]
 then
  echo "No files. Exit."   
  exit 3
 else 
  echo "all_files					`cat "$ALLFILES" | wc -l`"
  echo "BEGIN;" > cmd.sql
 fi
else 
 echo "No files. Exit."   
 exit 3
fi

echo "Please, wait..."

cat "$ALLFILES" | while read line
do                 
# echo "$line" #optional
 FullFileNameSTR="`echo "$line" | sed s/\'/\'\'/g `"
 md5sumStr="`md5sum -b "$line" | cut -d " " -f 1`"
 echo "insert into metadata (md5sum,FullFileName) values ('$md5sumStr','$FullFileNameSTR');" >> cmd.sql
done 
echo "COMMIT;" >> cmd.sql
sqlite3 allsets.db ".read cmd.sql"

test -f cmd.sql && rm -v cmd.sql
test -f "$ALLFILES" && rm "$ALLFILES"
exit 0;

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

Если файлов много, могут найтись коллизии: у разных файлов может быть один md5 хэш. Лучше использовать sha256sum.

+1

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

когда найдешь одинаковые по мд5 файлы их надо проверить и по другим параметрам, НО их будет мало относительно общего объёма, так что затраты минимальны. А sha256sum тоже хеш и коллизии будут и с ним.

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

а что ещё есть из подобных программ? Recoll

namazu http://www.namazu.org/

Description: full text search engine - binary and CGI script Namazu is a full text search engine which is usable via CGI. It features a simple and easy setup, and is written in C and Perl. Namazu uses the text utilities nkf, kakasi or chasen.

Пользовался, работало (лет 12 назад)

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

Можно выкидывать, большая часть уже будет нечитаема.

4.2. Возьмите свежий привод. Большая часть, как раз-таки, прочитается.

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

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

З.Ы. у меня на компе sha256sum в три раза медленнее чем md5sum

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

Это достаточная причина не выгребать MD5 из помойки и заодно уменьшить вероятность коллизий до пренебрежительно малой величины (меньше исходноий пренебрежительно малой величины, ага).

sha256sum

Оно не использует инструкции SHA-NI.

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

ты как малолетка зацикливаешься на мелочах, которые НЕПРИНЦИПИАЛЬНЫ, до реализации алгоритма.

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

Архивариус3000. Стоит не много. И можно купить бесплатно на рутрекере.

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

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

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

сд-магнитола

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

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

Всякие есть.

Были случаи, что расслаивались. Но там сроки были смешные, порядка пары лет.

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

Про NAS уже написали да, есть смысл сначала все закинуть в единое хранилище а потом уже разбираться.

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

Третий пункт запроса вообще бред, какой критерий мусорности файлов?

Gary ★★★★★
()

Как бывший такой же старьёвщик на полном серьёзе советую rm -rf. Понимаю что к этому сложно прийти, но по собственному опыту - ни одна из сотен записанных cdr и dvdr болванок ни разу не была прочитана, ни один из внешних винтов с хламом ни разу не был подключен для чтения.

Сейчас у меня схема такая:

  • zfs snapshot ~ раз в час. Это реально много раз спасало от потери данных.
  • Бэкап ~ на флешку простым tar’ом раз в месяц. Это спасло один раз после смерти диска.
  • Был бы стационарный комп, однозначно было бы zfs зеркало - это бы тоже спасло от смерти диска, при этом без даунтайма (но бэкап не отменяет).

Одна флешка с бэкапами никакой каталогизации не требует. Никаких архивов медиа я давно не собираю, если качаю фильмы то сразу перед просмотром и удаляю сразу после. Музыки сколько-то хранится, если пропадёт буду только рад и накачаю чего-нибудь другого. В остальном считаю ноут расходником и терминалом к GitHub, а всё что на нём хранится за исключением конфигов, файлика с паролями и списка установленных пакетов - tmp и cache.

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

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

Видимо будет какой-то каталог с помощью find сделан (а может и простенькую программку напишу), там будут видны дубли в итоге. И вообще обозреть можно будет.

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

Как бывший такой же старьёвщик на полном серьёзе советую rm -rf. Понимаю что к этому сложно прийти, но по собственному опыту - ни одна из сотен записанных cdr и dvdr болванок ни разу не была прочитана, ни один из внешних винтов с хламом ни разу не был подключен для чтения.

Все-таки иногда подключаю.

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

Есть софт для каталогизации своих hdd

ну и где он, раз есть?

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

Бэкап ~ на флешку простым tar’ом раз в месяц. Это спасло один раз после смерти диска.

Уже кмк больше одного раза описывал combo.
1. Смерть внешнего харда с бэкапами и внутреннего носителя на компьютере. Данные восстановить не удалось не вручную, ни r-lab не осилил.
2. Одновременная смерть харда в ноуте + внешнего харда на который бэкапилось. Причем внешник был свежак, клиент его только купил. Но тут с нужными данными было проще, они и так в корп облаке были.

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

Все-таки иногда подключаю.

Я тоже после смерти одного харда, «выковыривал» данные с предыдущего. Как говориться, «хоть не свежие, но хоть что-то» :)

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

Recoll помирает от десятка Гб текстов

Можно пруфы? Может быть, он был неправильно настроен? Там куча фильтров можно настроить.

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

https://xapian.org/features

https://xapian.org/docs/scalability.html

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

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

baloo вообще ставил раком всю систему пытаясь это проиндексировать. это индексатор который используется в kde

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

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

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

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

Сейчас можно купить один диск, на котором влезут умрут данные со старых 15-ти.
Чутка поправил.

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