Отправляет email-рассылки с помощью сервиса Sendsay

не хватает фантазии :(

Здравствуйте!

Скажу сразу - я тестировщик, а не девелопер, потому
фантазии не хватает.

Нужны два скрипта на перле. Никаких СУБД нет.

Первый. Запускается через каждые полчаса. Читает текстовый файл
"md5test.txt" со ссылками и "эталонными MD5" и емейлами, скачивает файл
по ссылке, считает его MD5. Это я написал. Далее скрипт должен куда-то
писать инфу о том, совпадает ли MD5 и время.

Второй. Раз в сутки
запускается, читает текстовый файл "md5test.txt", читает результаты
работы первого скрипта. Если MD5-тка какого-либо файла изменилась, он
должен отправить емейл, прописанный в "md5test.txt".

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

Вот никак не
могу придумать "правильный" вариант реализации... так сказать-с
интерфейса между первым и вторым скриптом. Пока в голову приходит только
в "md5test.txt" добавлять... уникальный номер строки с исходными данными
и эталонным MD5.

Используем обычные txt, СУБД нельзя :( А то б я mysql
заюзал.

Подскажите, пожалуйста, как этот... интерфейс между скриптами
"запилить"? Даже не код, а алгоритм. Но, желательно, не сложный для
реализации кодом :)

Заранее спасибо всем откликнувшимся.

Ответить   Tue, 25 Oct 2011 13:37:53 +0300 (#2107755)

 

Ответы:

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

10/25/11 2:37 PM, Alexey A Bukreev пишет:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37768; Возраст листа: 3014; Участников: 1397
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2108048

Ответить   Tue, 25 Oct 2011 15:08:58 +0400 (#2108048)

 

25.10.2011 14:08, sandro пишет:

Тогда уже наверное проще будет md5 какой-нибудь от url как имя каталога.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37769; Возраст листа: 3015; Участников: 1397
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2110410

Ответить   Tue, 25 Oct 2011 23:32:56 +0300 (#2110410)

 

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

10/26/11 12:32 AM, Amper пишет:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37770; Возраст листа: 3015; Участников: 1398
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2112337

Ответить   Wed, 26 Oct 2011 10:50:04 +0400 (#2112337)

 

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

Ранее требовалось проверять версии
файлов, что я и сделал, но девелоперы, редиски, узнав, что мы мониторим
ежечасно версии файлов, стали выкладывать измененные модули БЕЗ
изменении версии файла. Зачем - хз. Наверное, хотят усложнить жизнь нам,
тестерам. A MD5 уже не обманешь :)

Проблема лишь в том, что мой
руководитель захотел получать инфу раз в сутки, а проверку проводить
ежечасно. Отсюда геморрой с этим интерфейсом. Я думаю, что в результаты
работы первого скрипта надо также писать урл и емейл получателя. А
второй скрипт будет уже рассылать, общаясь только с result.txt...

Best regards,
Alexey A Bukreev
http://lepisgame.net.ru

SAVE
POWER - consider greenhouse effect.

Please do not read this e-mail on
your monitor. Turn the monitor and computer off. It is better to print
this e-mail once and then read as many times as you want.

On Wed, 26
Oct 2011 10:50:04 +0400, sandro wrote:

лучше. Т.к. md5 может оказаться короче, чем url

есть опасность совпадения md5 для разных url

Amper пишет:

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

проще будет md5 какой-нибудь от url как имя каталога.

Links:
[1] mailto:comp.soft.linux.discuss-list@subscribe.ru
[2]
http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
[3]
http://www.linuxrsp.ru
[4]
http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2112337
[5]
mailto:lep***@l*****.ru
[6]
http://subscribe.ru/archive/comp.soft.linux.discuss
[7]
mailto:comp.soft.linux.discuss-list@subscribe.ru
[8]
mailto:comp.soft.linux.discuss-15282928-unsub@subscribe.ru?subject=27818
[9]
http://subscribe.ru/
[10] http://subscribe.ru/feedback

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37771; Возраст листа: 3015; Участников: 1398
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2112507

Ответить   Wed, 26 Oct 2011 10:09:04 +0300 (#2112507)

 

26.10.2011 09:50, sandro пишет:

Вероятность коллизий у md5 не настолько велика, что-то порядка
(n-1)/340282366920938463463374607431768211456, где n - количество url.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37772; Возраст листа: 3015; Участников: 1398
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2114332

Ответить   Wed, 26 Oct 2011 17:28:22 +0300 (#2114332)

 

Я сделал с использованием списков и grep, а также одного временного
файла. Если интересно кому-нибудь, могу выложить получившийся код. Либо
выслать на почту.

Всем спасибо за помощь.

Best regards,
Alexey A Bukreev
http://lepisgame.net.ru

On 26.10.2011 18:28, Amper wrote:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37773; Возраст листа: 3017; Участников: 1398
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2131242

Ответить   Fri, 28 Oct 2011 01:55:54 +0400 (#2131242)

 

Добрый день!

Конечно интересно. Наверняка кому-нибудь через некоторое время
предстоит решать подобные задачи. Лучше всего опубликовать код в рассылке
или на каком-нибудь сайте. Если хотите, с удовольствием опубликую
ваш код на lipetsk.lug.ru.

С уважением,
Владимир

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37774; Возраст листа: 3019; Участников: 1398
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2159129

Ответить   Sun, 30 Oct 2011 13:09:47 +0300 (#2159129)

 

Обязательно пришлю в рассылку завтра-послезавтра.

Best regards,
Alexey A Bukreev
http://lepisgame.net.ru

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37775; Возраст листа: 3030; Участников: 1395
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2210171

Ответить   Thu, 10 Nov 2011 03:18:15 +0400 (#2210171)

 

Доброй ночи!

Выложил скрипты сюда: http://lepis.pp.ru/perlscript.zip
Но лучше переложите их.

Описание скриптов.

main.pl. Скачивает исходный файл с Sharepoint, парсит, по указанным
ссылкам скачивает файлы, проверяет версию файла. Если версии ожидаемая и
фактическая не совпадают, то высылает письма на указанные e-mail. Пока
что высылает письма в txt-формате. По задумке запускается раз в час.
Входной файл должен иметь следующий вид:
ссылка_на_файл;ожидаемая_версия_файла;емейл1;емейл2;емейл3;емейл4;емейл5
Емейлов можно указывать меньше пяти.

md5.pl. Скачивает исходный файл с Sharepoint, парсит, по указанным
ссылкам скачивает файлы, проверяет MD5 файла. Если MD5 ожидаемый и
фактический не совпадают, то в файл result.txt пишется строка. По
задумке запускается раз в час.
Входной файл должен иметь следующий вид:
ссылка_на_файл;ожидаемый_MD5_файла;емейл1;емейл2;емейл3;емейл4;емейл5

send.pl. Открывает файл result.txt, парсит строку, отправляет на
указанные емейлы письмо о различиях в MD5. Письма в формате HTML. Как
строки кончаются - удаляет result.txt. По задумке запускается раз в сутки.

Скрипты заточены по виндовый Strawberry Perl, возможно, для работы под
линуксами/фряхами потребуется мелкая переделка. Хотел сразу под линукс,
но руководство потребовало. Запускаются виндовым скедулером.
Скрипты буду перепиливать, в частности, main.pl должен будет ТОЛЬКО
проверять версии, но ничего не отправлять, а писать в result.txt. Все
письма раз в сутки будет отправлять send.pl. В него добавлю условие,
которое в зависимости от того, о чем запись (MD5 или версия), будет
отправлять соответствующее письмо. Но это будет делаться в лучшем случае
на следующей неделе.

Также с интересом прочитаю критику в адрес скриптов, замечания,
предложения по улучшению-оптимизации кода.

Best regards,
Alexey A Bukreev
http://lepisgame.net.ru

On 30.10.2011 14:09, Vladimir B. Tsarkov wrote:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37779; Возраст листа: 3031; Участников: 1395
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2219018

Ответить   Fri, 11 Nov 2011 23:54:11 +0400 (#2219018)

 

Добрый день!

Вы хотите их как Public Domain распространять или же
согласно GNU GPL version 3, например?

С уважением,
Владимир

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37780; Возраст листа: 3032; Участников: 1395
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2223097

Ответить   Sat, 12 Nov 2011 15:31:02 +0300 (#2223097)

 

Ой как сложно :) Я просто хочу поделиться... Согласно BSD, наверное :)
Делайте, что хотите.

Best regards,
Alexey A Bukreev
http://lepisgame.net.ru

On 12.11.2011 16:31, Vladimir B. Tsarkov wrote:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37781; Возраст листа: 3032; Участников: 1395
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2223449

Ответить   Sat, 12 Nov 2011 20:08:22 +0400 (#2223449)

 

Доброй ночи!

Возник вопрос. В какой программной среде вы используете этот набор скриптов?
На какой версии Perl вы тестировали эти скрипты?

Тогда лучше GPL v. 3. :) Я разместил ваш набор скриптов по адресу:

http://lipetsk.lug.ru/projects/perlscript/perlscript.tar.gz

В ближайшее время добавлю ссылку на этот архив с основных страниц
lipetsk.lug.ru

С уважением,
Владимир

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37782; Возраст листа: 3034; Участников: 1394
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2229192

Ответить   Mon, 14 Nov 2011 00:48:00 +0300 (#2229192)

 

Точно работает на Windows 2003 R2. Strawberry Perl.

Позже портирую на никсовый перл.

Best regards,
Alexey A Bukreev
http://lepisgame.net.ru

On 14.11.2011 1:48, Vladimir B. Tsarkov wrote:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37783; Возраст листа: 3034; Участников: 1394
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2229642

Ответить   Mon, 14 Nov 2011 03:24:44 +0400 (#2229642)

 

Доброй ночи!

Эту информацию я добавил в README-файл, который приложил
к другим файлам архива с perlscript.

Ссылка архив с perlscript размещена по адресу
http://lipetsk.lug.ru/projects/index.html#sp

С уважением,
Владимир

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37784; Возраст листа: 3036; Участников: 1394
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2238885

Ответить   Tue, 15 Nov 2011 23:58:29 +0300 (#2238885)