|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Сравнение контрольных сумм md5 |
|
|
CMD/BAT - Сравнение контрольных сумм md5
|
Новый участник Сообщения: 5 |
Здраствуйте. Думаю прежде чем задавать вопрос как это реализовать . Расскажу картину того как выглядит место где это нужно сделать.
![]() Имеется 2 сервера. на 1-вом сервере происходит бекап базы в определённую папку. после происходит передача по фтп этого файла(тоесть бекапа базы) с помощью curl5 с 1-го сервера на -> второй сервер, также в определённую папку. после того как она передалась в определённую папку, Служба advanced host monitor проверяет есть ли в папке этот файл. и если да то отправляет письмо что всё вопорядке. Если его нету в этой папке(не забекапилась не передалась) отправляется письмо что всё плохо. Бывают случаи когда файл при передачи бьётся, не до пересылается или вообще имеет размер 0 байт. Но он находится в этой этой папке и служба отправляет пиьсмо что всё впорядке. Поэтому решил сделать проверку на контрольные суммы md5 файла базы до отправки и после уже того файла который находиться на втором сервере. Тоесть идея такая. 1-ый сервер. бекап базы. создание тхт файла с суммой мд5. передачи по фтп 2-ух файлов на второй сервер. 2-ой сервер.получение 2-ух файлов. тут вот как раз весь вопрос. как лучше проверить суммы этих двух файлов тоесть мы имеем ткст файлик с контрольной суммой базы и саму базу после передачи. лучше создать второй файлтик тхт и их сравнивать или сохранить сумму в буфер и проверить буфер и тхт файлик. я хз( в данный момент я сделал только до того шага когда мы имеем на втором сервере файл баз и 1 файл тхт с суммой который передался по фтп. сейчас имеется вот такой вот скрипт в котором происходит проверка нахождения файла в папке. да-хорошо. нет -плохо. был бы признателен в подсказках ну или возможных вариантах. скрипт. @echo off chcp 1251 SET FOLDER=%DATE% SET badbases= SET err=0 dir N:\Everyday_bas\%FOLDER%\BAckup_bas1.dt /a-d 2>nul >nul && goto 1 SET badbases=%badbases% bas1, SET err=1 :1 dir N:\Everyday_bas\%FOLDER%\BAckup_bas2.dt /a-d 2>nul >nul && goto 2 SET badbases=%badbases% bas2, SET err=1 :2 IF "%err%"=="0" goto ok echo ScriptRes:Bad:%badbases% exit :0k echo ScriptRes:0k:%bsdbases% exit |
|
Отправлено: 15:46, 05-03-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата vodka:
Предполагается, что «fciv.exe» доступен через PATH, текстовый файл с контрольной суммой содержит одну строку с вычисленной суммой MD5. |
|
Отправлено: 17:00, 05-03-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать спс за ответ.
![]() мне больше интеерсно как правильно оформить скрипт чтобы он делал всё это автоматически. тоесть проверку сумм. короче говоря я незнаю как правильно подправить скриптик для того чтобы он проверял не только наличие файла но и чтобы совпадала контрольная сумма. |
Отправлено: 17:11, 05-03-2012 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата vodka:
|
|
Отправлено: 18:58, 05-03-2012 | #4 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать извиняюсь
![]() Ей как раз я и создавал контрольные суммы. стандартный пакет который закинул в программс файлс. после чего в тхт документике прописал адрес программы потом команду md5 и название файла после перенаправление вывода в файл. тоесть саму программу то я нашёл и она прекрасно всё выполняет. можно сказать дело за малым. создание второй контрольной суммы и её проверки . кстати да спс за ссылку. когда гуглил эту программу тоже видел. но посоветовали md5. |
|
Отправлено: 23:25, 05-03-2012 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 23:40, 05-03-2012 | #6 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать возможно
![]() ![]() в данный момент болею ![]() http://www.fourmilab.ch/md5/ вот эта программка с помощью который реализую данные действия. как я понимаю где она находится в системе всё равно. ибо в батнике можно прописать любой путь. |
Отправлено: 23:58, 05-03-2012 | #7 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Прошу Прщения
![]() ![]() ![]() счас разбираюсь ![]() ![]() |
Отправлено: 20:57, 10-03-2012 | #8 |
Забанен Сообщения: 1882
|
Подскажете, как можно убедиться по md5-хешам, что файлы одинаковые?
|
Отправлено: 21:24, 08-01-2013 | #9 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Никак. Но можно предполагать с определённой долей вероятности
|
Отправлено: 22:43, 08-01-2013 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочие - Программы для подсчёта контрольных сумм файлов | ALEXEY_DFD | Программное обеспечение Windows | 14 | 18-11-2011 15:30 | |
Ошибка - [решено] Синий экран, восстонавление с контрольных точек не помогает | el_motoblock | Microsoft Windows 2000/XP | 2 | 19-02-2011 15:54 | |
Решение контрольных работ за определенную сумму? | VbInt | Флейм | 2 | 21-01-2011 00:16 | |
C/C++ - Получение контрольных сумм файлов (MD5, и т.д.) и их проверка в Online-сервисах | Drongo | Программирование и базы данных | 49 | 30-08-2010 18:39 | |
md5 с++ | me9090 | Программирование и базы данных | 3 | 22-08-2005 23:11 |
|