утилита под линукс

Модератор: Модераторы

утилита под линукс

Сообщение Attid » 24.03.2014 23:29:29

всем привет

надо сделать утилиту на фпц под линукс
при запуске читает параметры из ini файла
выполняет команды оттуда желательно в баше с перенаправлениями типа "ls -li / | grep home"
и результат всех команд одним письмом шлет письмом через smtp на яндексе

дальнейшие детали в личку или в почту на яндексе :lol:
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: утилита под линукс

Сообщение Padre_Mortius » 25.03.2014 20:01:20

Attid, думается мне, что fpc тут явно лишний. Указанный функционал можно и на баше реализовать.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: утилита под линукс

Сообщение NTFS » 25.03.2014 22:04:32

Сделать-то можно, только зачем именно FPC? Есть же много хороших промышленных средств разработки под Linux, которые не будут падать в неизвестном месте в неизвестное время с загадочными сообщениями. Python неплохо подойдет, всё, что указано в ТЗ, он умеет.
NTFS
постоялец
 
Сообщения: 388
Зарегистрирован: 05.11.2007 14:57:50
Откуда: Краснодар

Re: утилита под линукс

Сообщение Attid » 25.03.2014 23:37:30

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

питон надо ставить, а исполнение бывает с разными версиями линукса, кинуть бинарник проще

Добавлено спустя 3 минуты 29 секунд:
да и надо же в конце концов испытать ветку форума =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: утилита под линукс

Сообщение Padre_Mortius » 26.03.2014 08:53:16

Attid писал(а):на баше я не нашел с ходу как смтп отправить только через внешнии утилиты, а там зоопарк или я проглядел ?

да, MTA будет нужен, но в большинстве систем он по умолчанию установлен.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: утилита под линукс

Сообщение debi12345 » 26.03.2014 10:55:46

Хм, зачем использовать байнари-прокладку между шелл-утиллитами ? Учитывая, что щелл-утиллиты - очень мощное и все умеющее средство. Для использования несистемных СМТП-ков ожно использовать напримре :
https://code.google.com/p/mailsend/

Supported Platforms

Microsoft Windows
Linux/Unix
Mac OS X

Version: @(#) mailsend v1.17b14

Copyright: BSD. It is illegal to use this software for Spamming

(Compiled with OpenSSL version: OpenSSL 1.0.0g 18 Jan 2012)
usage: mailsend [options]
Where the options are:
-copyright - show copyright information
-smtp hostname/IP* - Hostname/IP address of the SMTP server
-port SMTP port - SMTP port
-d domain - domain name for SMTP HELO/EHLO
-t to,to..* - email address/es of the recipient/s
-cc cc,cc.. - Carbon copy address/es
+cc - do not ask for Carbon Copy
-ct seconds - Connect timeout. Default is 5 seconds
-bc bcc,bcc.. - Blind carbon copy address/es
+bc - do not ask for Blind carbon copy
+D - don not add Date header
-f address* - email address of the sender
-sub subject - subject
-lilst file - a file containing a list of email addresses
-log file - write log messages to this file
-attach file,mime_type,[i/a] (i=inline,a=attachment)
- attach this file as attachment or inline
-cs character set - for text/plain attachments (default is us-ascii)
-enc type - Encoding Type. Only valid type: base64
-H "header" - Add custom Header
-M "one line msg" - attach this one line text message
-name "Full Name" - add name in the From header
-v - verbose mode
-show_attach - show attachment in verbose mode, default is no
-V - show version info
-w - wait for a CR after sending the mail
-rt email_address - add Reply-To header
-rrr email_address - request read receipts to this address
-ssl - SMTP over SSL
-starttls - Check for STARTTLS and if server supports, do it
-auth - Try CRAM-MD5,LOGIN,PLAIN in that order
-auth-cram-md5 - use AUTH CRAM-MD5 authentication
-auth-plain - use AUTH PLAIN authentication
-auth-login - use AUTH LOGIN authentication
-user username - username for ESMTP authentication
-pass password - password for ESMTP authentication
-example - show examples
-ehlo - force EHLO
-info - show SMTP server information
-help - shows this help
-q - quiet


Добавлено спустя 8 минут 8 секунд:
при запуске читает параметры из ini файла

"source / . <ini-file>" или пропуская через AWK.

Добавлено спустя 2 минуты 12 секунд:
Указанный функционал можно и на баше реализовать.

С дистрами не идут утиллиты отправки почты с призволными (в обход EXIM-конфигурации) SMTP-серверами.

Добавлено спустя 1 час 12 минут 36 секунд:
Неинтерактивный способ отправки через MAILSEND:
Код: Выделить всё
#/bin/sh

cat <<EOF | mailsend -smtp <smtp-server>  -user <smptp-login> -pass <smtp-password> -f <from_user@users.com> -t <to_user@users.com> -sub <subject> -name <from_name>
<message_body with shell command output if needed - `date` etc>
[..]
EOF


Код: Выделить всё
#/bin/sh
mailsend -smtp <smtp-server>  -user <smptp-login> -pass <smtp-password> -f <from_user@users.com> -t <to_user@users.com> -sub <subject> -name <from_name> -M "message body"
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: утилита под линукс

Сообщение скалогрыз » 26.03.2014 18:16:57

debi12345 писал(а): Для использования несистемных СМТП-ков ожно использовать напримре: https://code.google.com/p/mailsend/

програмёрский мир тесен! :) тоже его (mailsend) использую. ...
synapse сплоховал с tls аунтефикацией, и потому использую готовое решение в виде mailsend.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: утилита под линукс

Сообщение debi12345 » 26.03.2014 22:13:01

програмёрский мир тесен! тоже его (mailsend) использую. ...

Неудивительно. По части этого функционала (кроме самой отправки почты - секьюрные режимы, аттачи, кодировки,..) нет никакого "зооопарка". Спасибо гугловцам за эту утиллиту :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: утилита под линукс

Сообщение Attid » 26.03.2014 23:19:38

ну в принципе если бинарник майлсенда с собой взять то и на баше накидать можно.

все такие добрые, никто денег на пиво не хочет, видно прийдется все же скрипт набросать и одно пиво почтой в Ташкент отправить :D
не пропадать же добру.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: утилита под линукс

Сообщение скалогрыз » 27.03.2014 00:40:31

debi12345 писал(а):Неудивительно. По части этого функционала (кроме самой отправки почты - секьюрные режимы, аттачи, кодировки,..) нет никакого "зооопарка". Спасибо гугловцам за эту утиллиту :)

а причём тут Гугловцы?
им спасибо за "изобретение велосипеда" в виде code.google (тот же sourceforge с блекджеком и шлюхами)
Автор - Muhammad A Muquit (...Мухамед А Муквит... ?) успешно перебрался на Github (если открыть закладку "Issues" или "Sources" на GoogleCode то можно увидеть тому подтверждение)

Для тру линуксойдов, таксать с собой бинарик mailsend запрещает религия, ибо есть sendmail
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: утилита под линукс

Сообщение debi12345 » 27.03.2014 08:29:17

ибо есть sendmail

Влом возиться с сиcтемным мэйлером, смартхостами и т.п. . Вспоминать каждый раз как в первый класс :)
У "sendmail" есть какая-нибудь интерактивная утиллита конфигурации так чтобы не насиловать мозг?

Вот еще утиллита из дистрибутивов, заменяет SENDMAILовский сендер :
SSMTP — простейшая замена sendmail для отправки почты.

[url]http://www.linuxjournal.su/ssmtp-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9%D1%88%D0%B0%D1%8F-%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0-sendmail-%D0%B4%D0%BB%D1%8F-%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8-%D0%BF%D0%BE/
[/url]подходит если не нужно секьюриться и ататачиться

Код: Выделить всё
$ apt-get install ssmtp

Далее правим /etc/ssmtp/ssmtp.conf:
$ nano /etc/ssmtp/ssmtp.conf

    root=myinfo@gmail.com
    mailhub=smtp.gmail.com:587
    hostname=smtp.gmail.com:587
    UseSTARTTLS=YES
    AuthUser=myinfo@gmail.com
    AuthPass=123456
    FromLineOverride=YES
    и правим /etc/ssmtp/revaliases:
    root:myinfo@gmail.com:smtp.gmail.com:587

Вот и все теперь проверяем, из командной строки выполняем:

    $ echo «Наше тест-сообщения» | mail -v -s «Наш заголовак письма» проверочный@адрес
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: утилита под линукс

Сообщение ev » 27.03.2014 10:40:56

Padre_Mortius писал(а):Указанный функционал можно и на баше реализовать.

не всегда есть bash, надо рассчитывать только на sh
у меня многое на sh написано, но постепенно все переписываю на fpc - получаются как минимум такие плюсы:
- быстрее разработка и поиск багов
- проще последующая поддержка
- меньше зависимостей от окружения
- больше функционала (актуально в сложных случаях)

Padre_Mortius писал(а):да, MTA будет нужен, но в большинстве систем он по умолчанию установлен.

у меня вот почти везде выключен :)

debi12345 писал(а):Учитывая, что щелл-утиллиты - очень мощное и все умеющее средство. Для использования несистемных СМТП-ков ожно использовать напримре

используя буханку черного (или белого) хлеба и нехитрые приспособления, можно сделать троллейбус, но зачем? (с) ...
плюс не забываем про зависимости разного рода (что не всегда допустимо)
ev
долгожитель
 
Сообщения: 1764
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: утилита под линукс

Сообщение debi12345 » 27.03.2014 12:07:40

не всегда есть bash, надо рассчитывать только на sh

Это точно - нарвался надавно, из-за шифта "BASH->DASH" несколько дней переписывал и переотлаживал туеву хучу скриптов :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: утилита под линукс

Сообщение debi12345 » 27.03.2014 17:04:27

если я завтра сгенерирую миллиард вакансий с одним только FPC

Реально бинарные утиллиты под Линус на порядок проще писать на FPC - кроме случаев когда не обойтись без С++ (CORBA,..). Ни тебе возни с памятью, ни траблов с кодировками :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: утилита под линукс

Сообщение Дож » 27.03.2014 17:32:06

Сделать-то можно, только зачем именно FPC?


Плюсы fpc:
1. Кроссплатформенный компилятор с кроссплатформенным rtl. Используя это грамотно, можно достаточно легко написать переносимую программу. В С++ для этого используются сторонние кроссплатформенные библиотеки.
2. Простота компиляции. Сборка программы на C++ с учётом зависимостей — чудовищное занятие, особенно если нужно поддерживать это под разными платформами.
3. Это компилятор, а не интерпретатор. Крупных компиляторов я не так много знаю — C, Pascal, haskell, пожалуй, это всё. На всяких python, perl не всегда целеособразно писать программы из-за ограничений на скорость и необходимости писать код на низком уровне.
4. Альтернативный язык по отношению к С. У программиста могут быть личные предпочтения и паскаль может больше нравиться, чем С++.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

След.

Вернуться в Помощь за вознаграждение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru