LINUX.ORG.RU
ФорумTalks

Как анонимус шлёт себе почтовые уведомления о завершении долгих задач?

 , , , ,


0

2

Разумеется в виртуалках которые сильно дольше чем задача - не живут?

Очень хотелось бы иметь возможность уведомить себя по почте. Очень не хотелось бы каждый раз ставить ради этого smtpd и sendmail.

Может на пистоне есть чего супер готового?

Т.е. хотелось бы иметь такой коммандлайн ставящийся очень быстро и без прав рута:

./long.task.sh && notify-me pon4ik@tamtam.net "Long task at $(hostname) completed" || notify-me pon4ik@tamtam.net "Long task at $(hostname) failed"

А лучше:

notify-me pon4ik@tamtam.net -t "Long task at $(hostname)" -f "Failed" -s "Successed" -- ./long.task.sh and its args

По результатам обсуждения с ыкспертами было принято решение таки попробовать замутить велосипед по алгоритму:

  • делаем приватный проект на gitlab.com
  • делаем в нём ишью
  • настраиваем уведомления на «слать уведомления о моих действиях»
  • генерируем api токен
  • кладём его в открытый репо зашифрованный с помощью gpg -c
  • пишем скрипт который дёргает curl’om api гитлаба для записи комента в ишью с шаблоном в зависимости от результата комманды, токен подставляется в виде $(gpg -d token.gpg)
★★★★★

Последнее исправление: pon4ik (всего исправлений: 3)

Уведомление должно слать то, что запускает задачи на этих быстро умирающих виртуалках.

sT331h0rs3 ★★★★★
()

s-nail (реализация /usr/bin/mail в арче) умеет работать по SMTP, без локального MTA. Конфиг — ~/.mailrc.

Ну а по-хорошему — рассылкой уведомлений должно заниматься то, что эти виртуалки запускает.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от futurama

Раз ты это написал, то сиё не сложно свести к одному из однострочников из топика?

Можешь пример показать? На шелле я накорябую обёрточку по итогам, вот на perl’e не очень хотелось бы писать. Душа верит, что есть что-то готовое.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от sT331h0rs3

Т.е. это должен быть я? Ну если я знаю что имеет смысл послать уведомление - я уже уведомлён.

pon4ik ★★★★★
() автор топика

В сети нужен сервер, готовый принять сообщение. Сообщение на сервер можно слать башем.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Хм, я возможно туплю, но почему-бы поднятием сервера на время доставки уведомления не заняться самому скрипту? При условии обычного не параноидального nat’a казалось бы оно должно работать? Я ооочень плохо помню спеку smtp, как минимум как будет устроен relay точно не соображу сходу.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Виртуалки условно ручные, там пускаются одноразовые и сильно различные вычисления с различными выпендрёжами с окружением. В общем пока непонятно чем это оркестрировать, хотелось бы иметь возможность уведомить конкретно себя максимально на колене с минимальными привилегиями.

s-nail и mail походу не катят, т.к. в образах из коробки их нет, это не то что бы прям шоустоппер, но кажется должно быть что-то на скриптоте для таких дел. Уж больно попсовой кажется задача.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Если ты готов поднимать что-то скриптом, то проще отсылать через sasl. Мне кажется менее заморочно будет пользовать вебхуки. В вебхуки кажись слак умеет. Т.е. один курл запрос и к тебе уже приходит уведомление.

Deleted
()
Ответ на: комментарий от Deleted

sasl - это протокол аутентификации, к транспорту он насколько я помню отношения особо не имеет.

Про web-api я тоже подумал в первую очередь, но не нашёл сервиса который предоставлял бы такой транспорт анонимно(что и логично) а подымать свой - ну не очень хочется.

Как ни странно, я не сильно обломаюсь, если скрипт окажется вызовом докер контейнера, хм.

pon4ik ★★★★★
() автор топика

Если у вас ферма виртуалок, то в чём проблема завести один sendmail в конторе?

vodz ★★★★★
()

Почта — это не слишком ли? Отправляй себе сообщения в джаббер. Скрипт на питоне выйдет строк на 20 отсилы.

WitcherGeralt ★★
()
Ответ на: комментарий от Deleted

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

Тут важно понимать цель моего изыскания:

Я могу написать скрипт который будет слать мне уведомления например через приватный проект на гитлабе, он даже может быть на gitlab.com вполне себе, и всё что мне нужно будет сделать - это сгенерить токен, зашить его в скрипте, и, например ронять/зеленить пайплайн(выдуманный, его не будет по факту, но api то - есть). Тогда алгоритм действий будет примерно такой:

git clone <script.uri> notify-my

notify-my/run.sh <notify settings> -- ./long.task.sh and its args

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

Тогда у остальных товарищей с доступом к этой виртуалке будет разве что возможность склонировать мой скрипт, да послать мне уведомление.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от vodz

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

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik
sendemail -f 'pon4ik@virt1.domain.com' \
          -t toaddr@domain.ru          \
          -u 'Subj is: test mail from pon4ik' \
          -m 'Message body is here. Thank you. Just delete this message.'  \
          -s mail.server.domain.com:25
futurama ★★★★★
()
Ответ на: комментарий от Rastafarra

Шлёт письма сама себе? Или пристально следит за шеллом на удалённом хосте, парсит вывод и звонит о результатах, а если не дозвонилась - шлёт письмо?

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от WitcherGeralt

Боюсь, такой сервис мне не по-карману. Тут за капчи то не всегда расплатиться выходит.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от futurama

Тогда придётся сделать фейковый акк и таскать его в не зашифрованном виде, ну или ещё немного секса с gpg. Согласен уровень тот же что и с токеном на gitlab.

В общем, видимо примерно так и поступлю… когда нибудь… пока буду ждать звоночка от тмукса.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

следит за шеллом на удалённом хосте, парсит вывод и звонит о результатах, а если не дозвонилась - шлёт письмо?

ну это как договоритесь.

Rastafarra ★★★★
()

Однострочник на любом из стандартных интерпретаторов. Можно хоть на баше.
Ну или юзать busybox

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Это при условии, что ты готов оставить доступ к почте отправителя в истории, ну, или нашёл халявный и не требующий аутентификации smtp сервер.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

А почему регулярнозапускаемые виртуалки для выполнения долговременных задач запускает некто pon4ik вместо классического jenkins?

takino ★★★★★
()
Ответ на: комментарий от takino

Потому, что писать Jenkinsfile и поддерживать инфраструктуру CI конкретно ради напоминалки - оверкилл.

Виртуалки запускаются не регулярно и не автоматически, они запускаются руками через простенький шелл вида give_me_a_box -m 16Gb -c 8 ubuntu_18_04 && login_to_the_box затем, по результатам ручного труда: rm_the_box || login_the_box || ‘forgot_the_box_till_gc_reminder’.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

шлёт себе почтовые уведомления

почтовые

Значит почтовик у тебя уже есть, на него и нацеливай sendEmail

futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 1)

Есть сервис mailgun с 10к сообщений/месяц бесплатно.

Его можно дергать даже curl’ом, в чем его прелесть:

    curl -s --user 'api:ENTER_API_KEY_HERE' \
        https://api.mailgun.net/v3/samples.mailgun.org/messages \
        -F from='Excited User <excited@samples.mailgun.org>' \
        -F to=‘Meow Gun <meow.gun@mailgun.com>’ \
        -F subject='Hello Meow Gun’ \
        -F template='action' \
        -F h:X-Mailgun-Variables='{"test": "test"}'
Octagon
()
Последнее исправление: Octagon (всего исправлений: 1)
[15:22] u@notebook:~> cat `whereis -q ssmtp`/pkg-descr
A secure, effective and simple way of getting mail off a system to
your mail hub. It does not include a mail spool to poke around in,
and no daemons running in the background. Mail is simply forwarded
to the configured mailhost. Extremely easy configuration.

WARNING: the above is all it does; it does not receive mail, expand
aliases or manage a queue. That belongs on a mail hub with a system
administrator.

WWW: http://packages.debian.org/stable/mail/ssmtp
[15:22] u@notebook:~>
IPR ★★★★★
()

msmtp?
Пускаешь почту через своего прова - не надо заморачтваться, что улетишь в спам лист.

Очень хотелось бы иметь возможность уведомить себя по почте.

Прежде, чем намутить что-нибудь автоматическое, придумай, как ты будешь обрабатывать очередь.
Внезапно может оказаться, что способность усидеть на 2х стульях (обработка сообщений и сознательная деятельность) может стать занозой в заднице.

TomBOY ★★
()
Ответ на: комментарий от TomBOY

Там люфт между задачами от получаса, это даже не pomodoro выходит. Плюс, я и так играю в пустой инбокс, для меня это уже автоматическая задача с разгребанием таких очередей, она почти не отвлекает.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от sT331h0rs3

В идеальном круглом мире - несомненно. В реальных условиях всегда нужно сравнивать ценник на автоматизацию, с жизненным циклом проекта и скоростью её окупаемости.

pon4ik ★★★★★
() автор топика

а как насчет scp текстового отчета?

deep-purple ★★★★★
()
Ответ на: комментарий от pon4ik

шли через netcat оповещение или через curl. В качестве сервера самоделка которая будет принимать оповещения

mittorn ★★★★★
()

а как насчет netcat на приемной стороне в бесконечном цикле принимающий отчеты и netcat отправляющий отчеты из виртуалки?

deep-purple ★★★★★
()
Ответ на: комментарий от pon4ik

ценник на автоматизацию

скоростью её окупаемости

Лучше потратить то же самое время на автоматизацию, чем на поиск кастомного решения для почты, ИМХО :)

sT331h0rs3 ★★★★★
()
Ответ на: комментарий от deep-purple

Тогда уж проще прокинуть обратный туннель к иксам и звать notify-osd.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от sT331h0rs3

Лучше - это смотря кому. Во-первых я ищу для себя и за свой счёт, а не для организации за их счёт. Во-вторых - стараюсь не плодить сущности без нужды.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Да, можно так, но много точек отказа и громоздко.

pon4ik ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.