|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
Подскажите плз. как реализовать (в особенности третий пункт): 1) Есть папка с файлами на линукс (NAS бокс) 2) Периодически запускается скрипт, который считает хэш sha1 для файлов и записывает результаты в файл 3) Когда скрипт запускается снова, надо ситать sha1 толко для вновь поступивших новых файлов т.е. для которых не был посчитан ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2017, 19:48 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
Решение в лоб за две минуты. Думаю, покрасивше способ найдётся. 1. Список файлов, для которых существуют хеши, сохранить в отдельном файле, пусть будет ~/list. Типа такого cut -d" " -f 3 ~/shasums >>~/list 2. Что-то вроде cd /path/to/folder ; ls | grep -v -f ~/list | xargs sha1sum >~/shacums ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2017, 21:52 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
vkle, спасибо, завтра буду пробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2017, 22:14 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
vkle, пробую, пока сложности: с текстовом файле sha1.txt находится вывод sha1sum вот такой: aee371adee687344659017af5e25912c11895fbc */volume1/Backup/Server123/master/master_backup_2017_02_15_020006_9581965.voll b0147699001632e6aff6d3839df5ca74152a11d9 */volume1/Backup/Server123/model/model_backup_2017_01_28_020011_8381168.voll Получается, надо выводить перечень файлов, которые не встречаются в файле sha1.txt. Ваш пример использует строки файле как шаблон, а надо наоборот. Пробую вот так, но -f указывает, что шаблоны в файле, а надо наоборот find ./*/* -name *.voll | grep -o '/.*' | grep -v -f test.txt вот так, т.е. из имени файла делаю шаблон .*/blabla/balbal.voll, но и так не работает find ./*/* -name *.voll | grep -o '/.*' | awk '$0=".*"$0' | grep -v test.txt Заранее спасибо большое ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 14:45 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
Alexander UsПолучается, надо выводить перечень файлов, которые не встречаются в файле sha1.txt.Да, так и предполагал. Ключик -f указывает, что шаблоны надо брать из файла. А вот -v указывает, что надо выводить только не найденные строкиman grep -v, --invert-match Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX.) Разумеется, Ваш sha1.txt надо сперва подрихтовать, оставив только второе поле (cut, awk), чтобы его использовать в качестве списка шаблонов. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 15:00 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
vkle, последовал Вашему совету, заработало: Код: powershell 1. 2. 3. 4. 5. 6. 7.
Но ещё не ясно: как избавиться от указания полного пути /volume1/BackUp/ServerXXX я пробовал заменить на переменную Код: powershell 1. 2.
но так не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 18:29 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
Alexander Usне работаетОтличное техническое описание проблемы! Отсюда же не видно ни проблемный код, ни контекст использования, ни сообщения об ошибках... Конкретно эти две строчки вполне рабочие. Во всяком случае, тест нормально идёт: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 19:09 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
vkle, извините, за беспокойство: оказалось, в эдиторе была виндовая настройка для окончания строк, это былой причиной ошибок. И спасибо, Вы очень помогли. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 12:41 |
|
хэш для новых файлов
|
|||
---|---|---|---|
#18+
Alexander Usв эдиторе была виндовая настройка для окончания строк, это былой причиной ошибок.Странно, конечно. Или лишний /r влезал в середину итоговой строки? Alexander UsИ спасибоДа не за что. Не думаю, что моё решение достаточно простое. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 14:46 |
|
|
start [/forum/topic.php?fid=25&msg=39406064&tid=1481587]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
197ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 245ms |
total: | 531ms |
0 / 0 |