|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Необходимо реализовать задачу с расчётом хеша в директориях и сохранением в фаил. |
|
CMD/BAT - [решено] Необходимо реализовать задачу с расчётом хеша в директориях и сохранением в фаил.
|
Новый участник Сообщения: 46 |
Мне это необходимо для автоматизированного бекапа через программу GoodSync, там можно выполнять команды до синхронизации(бекапа).
Так вот я хочу чтобы перед синхронизацией создавался по всем правилам созданный фаил с контрольной суммой всех файлов в директории и поддиректориях, исключая при этом файлы Thumbs.db (и не только, зависит от конкретной бекап-задачи). Причём чтобы была возможность сохранять этот фаил со списком контрольных сумм файлов в произвольном месте а не сканируемой директории. Искал консольные утилиты для расчёта контрольных сумм, но так и не нашёл таких, в которых было бы возможно задавать исключения для определённых имён файлов. |
|
Отправлено: 09:25, 17-12-2013 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать echo Generated on `date` > /var/log/md5.hashes; find $DIR_TO_BACKUP -type f \! -name Thumbs.db -exec md5sum {} \; >> /var/log/md5.hashes
Правда это не для Windows... |
------- Отправлено: 03:04, 18-12-2013 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Я радовался, радовался. А потом понял что скрипт и так не обрабатывает Thumbs.db, и не потому что в списках исключения а потому что имеет скрытый атрибут (и возможно системный?) . И соответственно другие файлы с атрибутом "скрытый" тоже :-( Это можно как-нибуть излечить? И ещё если это возможно очень бы хотелось чтобы в комментарии прописывалось общее число просканированных файлов. Что то вроде такого. ; Generated on 03/03/2013 02:37:09 ; Scanned files: 3563 А если уж совсем идеально, то можно добавить к просканированным файлам ещё и общее количество (с учётом исключений). Например вот так. ; Generated on 03/03/2013 02:37:09 ; Scanned files: 3563 ; Total files: 3572 --- UPD --- И обмозговав свои будущие проекты я понял что мне необходимо исключать не только файлы но и папки. Быть может стоит вынести в переменную в начало файла-скрипта некий список? Я не знаю как это сделать, но примерно я представляю это так. %files% Thumbs.db Descript.ion %folders% D:\Workfolder\Caсhe\ (или с относительными путями к сканируемой корневой папке) D:\TestSun\Profile\Temp\ и так далее каждый новый объект с новой строчки. Соответственно наверное если реализовать это то предложение с подсчётом исключённых файлов и самое главное папок уже будет не столь состоятельным. Ну если эта фича сложна в реализации то без неё проживу :-) Главное это подсчёт всех файлов (включая скрытые и системные) и введение исключений и на папки. |
||
Последний раз редактировалось DjBoBo, 18-12-2013 в 16:34. Отправлено: 12:36, 18-12-2013 | #12 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать {
echo "; Generated on `date`" echo "; Scanned files: `find $DIR_TO_BACKUP -type f \! -name Thumbs.db | wc -l`" echo "; Total files: `find $DIR_TO_BACKUP -type f | wc -l`" find $DIR_TO_BACKUP -type f \! -name Thumbs.db -exec md5sum {} \; } > /var/log/md5.hashes Опять-таки не для Windows ![]() |
------- Последний раз редактировалось AMDBulldozer, 18-12-2013 в 13:36. Отправлено: 13:26, 18-12-2013 | #13 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать AMDBulldozer, спасибо конечно. Но я использую исключительно Windows :-) Хотелось бы закончить этот "проект века" наконец и забекапить по всем правилам и своим внутренним критериям все свои многочисленные файлы :-)
|
Отправлено: 14:53, 18-12-2013 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата DjBoBo:
Цитата:
Цитата DjBoBo:
Цитата DjBoBo:
|
||||
Отправлено: 00:40, 19-12-2013 | #15 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Iska, Огромное спасибо что помогаете мне в реализации, ваша помощь бесценна :-)
Подсчёт исключённых действительно был бы избыточен, желательно просто реализовать подсчёт общего количества просканированных файлов и соответственно хеш-записей. И не более. Касаемо же путей, я просто подумал если в скрипте указывается жёстко рабочая папка, то наверное при написании папок-исключений необходимо отталкиваться относительно её, а это значит пути будут относительными. Хотя конечно окончательный выбор за вами. В моём случае сканируемые папки на компьютере не перемещаются. Но в тоже время относительно вывода (хеш-файла) ничего не меняется, там так и должны быть относительные пути. |
Отправлено: 02:13, 19-12-2013 | #16 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Пробуйте:
Цитата DjBoBo:
|
|
Отправлено: 05:02, 20-12-2013 | #17 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Iska, Спасибо :-)
Прогнал скрипт в типичных задачах и вроде всё работает :-) Единственный вопрос возник по этому поводу Цитата Iska:
|
|
Отправлено: 07:42, 20-12-2013 | #18 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата DjBoBo:
Цитата DjBoBo:
|
||
Отправлено: 08:00, 20-12-2013 | #19 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Думаю его и использовать... |
||
Отправлено: 08:57, 20-12-2013 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Создать общий списк файлов в директориях | antonyk | Скриптовые языки администрирования Windows | 6 | 14-01-2012 15:17 | |
Proxy/NAT - Как реализовать задачу : минипровайдер внутри офиса. | djeff | Сетевые технологии | 0 | 24-05-2010 11:15 | |
VPN - Необходимо реализовать подключение Site-to-site | extremal | Сетевые технологии | 6 | 25-03-2008 14:56 | |
vsftpd: нет прав на удаления файлов в домашних директориях | steepz | Программное обеспечение Linux и FreeBSD | 6 | 09-09-2006 16:37 | |
Групповая политика в Активных директориях | Vi-P | Microsoft Windows NT/2000/2003 | 3 | 15-03-2006 17:45 |
|