Чистка хранилища; слияние идентичных файлов.

Автор PbI6A, 20 октября 2022, 04:33:34

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

PbI6A

Ребята, привет! Подскажите, не встречали ли такой программы или скрипта, которая проходила бы по дереву ФС, сличала бы файлы (по хешам) и сливала бы идентичные копии в один файл с двумя ссылками? Народ временами беспредельничает в хранилище, а вылавливать и зубы выбивать - вариант так себе :(
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

ogost

fdupes
Много лет назад интересовался той же темой, набрёл на указанный выше fdupes (по моему он не симлинки создаёт, а удаляет один из вариантов). Чёт даже скрипт по крону пускал. Но оказалось проще нарастить объём хранилища.

dzhoser

#2
PbI6A, а какой формат файлов? Папки для обмена я чищу каждые 8 часов (автоматически).
Для документов использую систему ревизий svn.
Проблем с копиями нет.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

yoric

fslint
А что делать с дубликатами можно постскриптом

PbI6A

Проблемы с копиями создают безумные пользователи. Я не знаю, какой бред в голове может побудить человека к действию "а давайте-ка я сделаю копию всего нашего сетевого диска у себя в директории". И совершенно не факт, что он потом не работает там и не меняет эти файлы... С безумием бороться бесполезно. Вот, например, вели архив сканированных документов. 4-мя разными способами! Безумие :( Но мне это надо поддерживать...
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

dzhoser

#5
PbI6A, нужно написать регламент работы с сетевым хранилищем. Ввести систему ревизий например SVN. Дубликатов типа первая, вторая версия не будет. Только версии с изменениями. Локальные копии также будут и у пользователей. Плюс мы получаем журнал коммитов кто что писал, и можно покарать провинившихся.
Пользователь будет видеть какие файлы он поменял и чем они отличаются от хранилища. Для защиты от дурака "Хочу скачать все" делаем разные ветки и кораем регламентом работы c SVN. Ну и пишем служебную записку на увеличение дискового пространства.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

PbI6A

SVN разве не захочет стянуть по 3Тб всего хранилища всем пользователям конторы? Помнится, ещё под вендами пытались поднять DFS, так огребли, что больше не захотели :( Сейчас там даже не подскажу сколько шт файлов :(
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

dzhoser

#7
Затянуть хочет пользователь, а не SVN. Хранилище разделяется на конкретные проекты что бы не закачивалось все. Конечно это не защитит от дурака, но в этом случае вы найдете его. Так как у него закончится место.
Эта система подходит для документов, но образы и программы там конечно хранить не стоит. В этом случае должны применяться другие решения.

22 октября 2022, 18:34:47
Также SVN защищает от дубликатов, типа "копия 1", "копия 2", копия последняя

22 октября 2022, 18:37:08
Возможно вам подойдёт gluster https://losst.pro/nastrojka-glusterfs
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

PbI6A

#8
Поставил на серваке fslint. Поискал, не нашёл. Оказывается, поставился некий fslint-gui. Запустил его в консоли, а он запустился на серваке, а графическое окошко появилось в моих локальных иксах. Странно это как-то. Раньше не знал, что так теперь можно. Давно такое? Это кто прокидывает гуёвые приложения на сторону клиента?
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

ogost

ssh и прокидывает. с ключом -X умеет прокидывать, и сколько я пользуюсь им, всегда умел. Другое дело, что его надо явно указывать.

Aalexeey

#10
Цитата: PbI6A от 31 октября 2022, 12:00:46Поставил на серваке fslint
https://github.com/qarmin/czkawka вот такое ему на смену пришло.
Дебиано-исходники можно взять отсюда https://launchpad.net/~xtradeb/+archive/ubuntu/apps/+packages
Во вложении собрал последний FSlint.
https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

PbI6A

Aalexeey, Спасибо! czkawka - то, что нужно. Несколько тормозно работает на 3Тб информации, но пользоваться вполне можно!
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

Aalexeey

dupeGuru ещё недавно попалось, но не обкатывал ещё, не знаю что за зверь.
http://mxrepo.com/mx/testrepo/pool/test/d/dupeguru/ здесь брал. Русский есть.
https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

ek-nfn

#13
Цитата: Aalexeey от 10 декабря 2022, 20:10:44dupeGuru ещё недавно попалось, но не обкатывал ещё, не знаю что за зверь

 Ищет либо одинаковые файлы, что вообщем-то стандартная процедура и есть интересней варианты. Уникальность этой софтины в том, что может найти одинаковые картинки. При этом они могут быть разного размера и разрешения. При этом можно задавать степень совпадения и тогда выделит картинки с одним похожим сюжетом, например рука поднята и опущена и т.д. При этом можно задавать приоритеты для выделения эталонного варианта. Аналогов у нее нет. Еще музыкальные файлы может сравнивать и если с такими же возможностями, то софтина уникальная. Для видео я не нашел аналогичного софта
Debian 12  -> Devuan 5 xfce -> MX Linux 23

PbI6A

#14
Нашёл вот что:

rep.sh:
#!/bin/sh
date
fdupes -nr /path/to/storage | egrep '\.so$|^$' | ./replacebylinks.sh ln -f
date
replacebylinks.sh:
#!/bin/sh

if [ -n "$1" ] ; then
        ACTION="$@"
else
        echo "Usage: $0 <command>"
        ACTION="echo <command>"
fi

while read line ; do
        if [ -n "$line" ]; then
                original="$line"
                while read line ; do
                        if [ -n "$line" ]; then
                                $ACTION "$original" "$line"
                        else
                                break
                        fi
                done
        fi
done
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!