Добро пожаловать на форум, Гость!
Войдите или зарегистрируйтесь!
Имя пользователя:   Пароль:  
Запомнить меня 




Начать новую тему Ответить на тему   [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 22 авг 2010, 01:45 
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 1887

Зарегистрирован: 03 мар 2010, 11:25
Благодарил (а): 4 раз.
Поблагодарили: 39 раз.
ОС: Slackware-current
Долгое время заботила мысль как получать ИП домашнего сервака подключенного к анлиму, но не имеющего статического адреса.
в итоге было перерыто куча всего чего можно и нельзя. Вполть до того что юзал телнет для подключения к почтовому серву..
вот в итоге что теперь имеем

основной скрипт, используемый в кроне:
Синтаксис: [ Загрузить ] [ Скрыть ]
Используется подсветка синтаксиса bash
#!/bin/bash

LAST_IP=`cat /root/last_ip`
INTERFACE="ppp0"
STRING=`ifconfig $INTERFACE | grep "inet addr"`

IP=`echo $STRING | gawk -F: '{print $2}' | gawk -F' ' '{print $1}'`;
if [ "$LAST_IP" != "$IP" ]; then
    #IP was changed - save it

        echo $IP > /root/last_ip
## save ip for web
    echo '<html><head><title>' $IP '</title></head><body>' $IP '</body></html>' > /srv/www/htdocs/index.html;
## send ip to e-mail
/usr/local/bin/sendEmail -f адрес@отправителя -t адрес@получателя -o message-charset=utf-8 -u "New IP address at home" -o message-file=last_ip -o message-format=text/html -s смтп.сервер.отправителя -o tls=no -xu логин_на_сервере_отправителя -xp пароль_на_сервере_отправителя -l log.txt
## send ip to jabber
/root/jsend in.flame@jabber.sysadmins.el.kg $IP
fi
 
Обработано за 0.009 секунд, используется GeSHi 1.0.8.4


как видно, из не стандартного в скрипте используются программа sendEmail, которую берем в треше и прога на питоне, листинг которой ниже, которая кстати сказать, требует библиотеку xmpppy

Синтаксис: [ Загрузить ] [ Скрыть ]
Используется подсветка синтаксиса python
#!/usr/bin/python
import sys,os,xmpp,time,ConfigParser

name = os.path.basename(sys.argv[0])

if len(sys.argv) < 2:
    print "Send a message via Jabber (XMPP)"
    print "Syntax:", name, "JID text"
    print "JID\trecipient's Jabber ID"
    print "text\tmessage, use '-' for stdin"
    sys.exit(0)

toJID = sys.argv[1]
if sys.argv[2] == '-':
    text = ' '.join(sys.stdin.readlines())
else:
    text = ' '.join(sys.argv[2:])

configFile = os.path.join(os.environ['HOME'], '.' + name)
config = ConfigParser.RawConfigParser()

try:
    config.read(configFile)
    fromJID = config.get('Connection', 'JID')
    password = config.get('Connection', 'Password')
except:
    print "Default configuration was written to", configFile
    config.add_section('Connection')
    config.set('Connection', 'JID', 'user@example.com/home')
    config.set('Connection', 'Password', '********')
    f = file(configFile, 'w')
    config.write(f)
    f.close()
    sys.exit(0)

fromJID = xmpp.protocol.JID(fromJID)
client = xmpp.Client(fromJID.getDomain(),debug=[])

conn = client.connect()
if not conn:
    print 'Could not connect!'
    sys.exit(1)
print 'Connected with', conn

auth = client.auth(fromJID.getNode(), password, resource=fromJID.getResource())
if not auth:
    print 'Could not authenticate!'
    sys.exit(1)
print 'Authenticated using', auth

messageID = client.send(xmpp.protocol.Message(toJID, text))
print 'Message was sent'

time.sleep(1)
client.disconnect()
Обработано за 0.013 секунд, используется GeSHi 1.0.8.4


по части sendEmail писать нечего - скачали, распаковали, юзаем...

по части jsend...

После первого запуска утилита создаёт в домашнем каталоге файл с JID и паролем отправителя. Это удобнее, чем вводить пароль в качестве параметра командной строки, так как в этом случае никто не сможет его подсмотреть. Да и доступ к файлу можно будет закрыть. Файл получит имя, совпадающее с именем скрипта, но с точкой впереди, чтобы не отображаться лишний раз в списке файлов. В моём случае имя будет «/root/.jsend». Естественно, файл после первого запуска нужно будет открыть и вписать свои JID и пароль.

Формат запуска скрипта:
jsend JID text

JID — это идентификатор получателя сообщения, а text — это собственно текст, который нужно отправить.


Изображение

Изображение

Work: Slackware Linux 14.0 х 'all Servers'
Laptop: Slackware64-current / Xfce 4.10 / Linux 3.10.5


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 авг 2010, 01:51 
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 1887

Зарегистрирован: 03 мар 2010, 11:25
Благодарил (а): 4 раз.
Поблагодарили: 39 раз.
ОС: Slackware-current
вся эта тягомуть проверена на моем работающем домашнем серваке под управлением Slackware 13.0 "стандартной комплектации" пока что нареканий в работе не вызывает...
любые комменты и доработки приветствуются :)

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


Изображение

Изображение

Work: Slackware Linux 14.0 х 'all Servers'
Laptop: Slackware64-current / Xfce 4.10 / Linux 3.10.5


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 авг 2010, 08:55 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2902
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
ОС: RHEL 6.7
Гоголь спас? :-D


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 авг 2010, 09:19 
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 1887

Зарегистрирован: 03 мар 2010, 11:25
Благодарил (а): 4 раз.
Поблагодарили: 39 раз.
ОС: Slackware-current
Raven
как и всегда


Изображение

Изображение

Work: Slackware Linux 14.0 х 'all Servers'
Laptop: Slackware64-current / Xfce 4.10 / Linux 3.10.5


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
   Похожие темы   Автор   Ответов   Просмотров   Последнее сообщение 
Перенесенная ^_^

в форуме Linux

root

3

38

02 мар 2010, 16:15

Gen1us2k Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Опубликован пакетный менеджер GNU Guix 0.12 и дистрибутив...

в форуме Новости *nix

[Ботя]

0

340

23 дек 2016, 13:30

Гость Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Релиз http-сервера Apache 2.4.25

в форуме Новости *nix

[Ботя]

0

443

24 дек 2016, 14:30

Гость Перейти к последнему сообщению



Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Собрано Raven. Русская поддержка phpBB
phpBB SEO