Автор Тема: Ddns в опростен вариант, как да?  (Прочетена 17640 пъти)

h7d8

  • Напреднали
  • *****
  • Публикации: 197
  • Distribution: Debian;Ubuntu
  • Window Manager: Gnome
    • Профил
Ddns в опростен вариант, как да?
« Отговор #15 -: Aug 11, 2008, 00:38 »
Цитат (bulg @ Авг. 10 2008,07:44)
Примерен код
wget -q http://www.whatismyip.com

Ако ползвам този линк ще свали файл с ненужни неща.->
Примерен код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>What Is My IP Address? - IP Address Lookup, Bandwidth Speed Test, IP Info, plus more</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Keywords" content="IP, my ip, my ip address, ip address, address, address translation, proxy, firewall, dhcp, network, games, voice chat, tutorials, find ip address, ip addres, whats ip, ip find, ipconfig, ipaddress, ifconfig, bandwidth speed test, bandwidth speedtest, bandwidth, speed, test, speedtest, router, voip, internet protocol">
<meta name="Description" content="What Is My IP Address? Click Here to Lookup your IP Address plus more IP Address information...">
<meta http-equiv="Pragma" content="no-cache">
<link rel="shortcut icon" href="http://whatismyip.com/favicon.ico">
<link title="" href="default.css" type="text/css" rel="stylesheet">
<script language="JavaScript" src="default.js" type="text/javascript"></script>
</head>
<body>
<table class="maintable" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td class="head" colspan="3">
            <h1>WhatIsMyIP.com</h1>
            <h3>The fastest and easiest way to determine your IP address.</h3>
        </td>
    </tr>
    <tr>
        <td colspan="3">
            <div id="navmenu">
    <ul id="menu">
        <li><a href="default.asp" title="IP Address" class="current">IP Address</a></li>
        <li><a href="IP-commands.asp" title="IP Command Lines">IP Command Lines</a></li>
        <li><a href="IP-address.asp" title="IP Addresses Explained">IP Addresses Explained</a></li>
        <li><a href="speedtest/index.asp" title="Speed Test">Speed Test</a></li>
        <li><a href="automation.asp" title="Automation">Automation</a></li>
        <li><a href="http://forum.whatismyip.com" title="Forum">Forum</a></li>
        <li><a href="whatsnew.asp" title="What's new on WhatIsMyIP.com">What's New</a></li>
    </ul>
</div>

        </td>
    </tr>
    <tr><td><br></td></tr>
            <tr>
        <td colspan="3">
            <h1>Your IP Address Is <span>&#56;</span>&#55;<span>&#46;</span>&#49;<span>2</span>&#54;&#46;&#55;<span>&#50;</span><span>&#46;</span>&#54;&#56;</h1><!--Please set your code to scrape your IP from http://www.whatismyip.com/automation/n09230945.asp Please set your code to hit this page at a REASONABLE pace.  For more info, please see our "What's New" page.-->
        </td>
    </tr>
    <tr><td><br></td></tr>
    <tr>
        <td colspan="3">
            <blockquote><script type="text/javascript"><!--
                doaddefault300x250();
            //--></script></blockquote>
        </td>
    </tr>
    <tr>
        <td colspan="3">
            <script type="text/javascript"><!--
                doad3();
            //--></script>
        </td>
    </tr>
    <tr>
        <td colspan="3" class="content">
            <blockquote>
                <p><strong>IP Address (Internet Protocol Address):</strong> This number is an exclusive number all information technology devices (printers, routers, modems, et al) use which identifies and allows them the ability to communicate with each other on a computer network.  There is a standard of communication which is called an <strong>I</strong>nternet <strong>P</strong>rotocol standard (<strong>IP</strong>).  In laymans terms it is the same as your home address. In order for you to receive snail mail at home the sending party must have your correct mailing address (<strong>IP address</strong>) in your town (<strong>network</strong>) or you do not receive bills, pizza coupons or your tax refund.  The same is true for all equipment on the internet.  Without this specific address, information cannot be received.  IP addresses may either be assigned permanently for an Email server/Business server or a permanent home resident or temporarily, from a pool of available addresses (first come first serve) from your <strong>I</strong>nternet <strong>S</strong>ervice <strong>P</strong>rovider.  A permanent number may not be available in all areas and may cost extra so be  sure to ask your <strong>ISP</strong>...  <a href=IP-address.asp title="More IP Address Info">More IP Address Info</a></p>
            </blockquote>
        </td>
    </tr>
    <tr>
        <td>
            <br>
            <script type="text/javascript"><!--
                doad5468x15();
            //--></script>
        </td>
    </tr>
    <tr>
        <td class="ad" colspan="3">
            <br>
            <a href="http://www.kqzyfj.com/click-2215688-4200925" target="_top">
            <img src="http://www.ftjcfx.com/image-2215688-4200925" width="120" height="60" alt="GoToMyPC - Access Your PC from Anywhere" border="0"></a>
        </td>
    </tr>
    <tr><td><br></td></tr>
    <tr>
        <td colspan="3">
            &#169 2008 whatismyip.com<br>
<a href="privacy.asp" title="Privacy Policy">Privacy Policy</a>
        </td>
    </tr>
</table>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4975660-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>


С http://www.whatismyip.org го закрепих като резултатът е следния:
file:index.html
contents:87.43.29.29

До скоро и очаквам помощ за скрипт-а '<img'>
Активен

bulg

  • Напреднали
  • *****
  • Публикации: 916
  • Distribution: *bsd/linux
  • Животът е тръпка... иначе живот ли е това...
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #16 -: Aug 11, 2008, 02:43 »
Toва сработва:
Примерен код
lynx -dump http://whatismyip.com | awk '/Your IP Address Is/{print $NF}'
Активен

http://www.youtube.com/watch?v=9rX8Fn-YJpI
---------------------------------------------------------------------
http://cleargreen.com

foxb

  • Напреднали
  • *****
  • Публикации: 175
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #17 -: Aug 11, 2008, 04:10 »
А няма ли да е по-лесно да се ползва:
http://whatismyip.com/automation.asp

Там има линк на който получаваш само IP адреса.

Колкото до другата информация може би снмп клопка snmp trap или електронна поща.

satir

  • Напреднали
  • *****
  • Публикации: 1073
  • Distribution: FreeBSD-10.1 & LMDE
  • Window Manager: i prefer MATE
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #18 -: Aug 11, 2008, 04:38 »
хм...... не ги разбирам много тия работи... ма я виж тва: danasoft
Активен

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #19 -: Aug 11, 2008, 11:21 »
Цитат (bulg @ Авг. 11 2008,03:43)
Toва сработва:
Примерен код
lynx -dump http://whatismyip.com | awk '/Your IP Address Is/{print $NF}'

да този скрип който ти дадох го ползвам в реална среда и си работи супер '<img'>. Поздрави.
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

h7d8

  • Напреднали
  • *****
  • Публикации: 197
  • Distribution: Debian;Ubuntu
  • Window Manager: Gnome
    • Профил
Ddns в опростен вариант, как да?
« Отговор #20 -: Aug 17, 2008, 01:49 »
1. apt-get install mailutils OK
2. Вие вече сте регистрирани за услугата mail2sms. Услугата в момента е със статус активен. OK

3.
Примерен код
#!/bin/bash

store_ip=/root/index.html
from=blq@blq.bg
to=35988XXXXXXX@sms.mtel.net

wget -q http://whatismyip.org
mail -a "From: $from" -t $to < "$store_ip"
echo "Done! IP Adress: Send"
echo "Done! IP Adress: Send" >> /var/log/messages


4. [root@stoyanov:~]$ sh ip.sh
Null message body; hope that's ok

Done! IP Adress: Send

5.[root@stoyanov:~]$ pico index.html < там е  IP ADDRESS OK

6.iptables --list < OK

Казва ,че няма съобщения ,но защо да се надявам че е добре? '<img'> След това няма смс няма нищо естествено. '<img'> Има проблем ,но явно не го виждам.
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #21 -: Aug 17, 2008, 10:08 »
Я!? Кога сте извадили тази тема от архива? Пропуснал съм да я видя '<img'>
h7d8, относно последния ти пост:
1. За това, че ти изписва "Null message body; hope that's ok". В скрипта си забил статичен път, където да се търси index.html (демек това, че променливата $store_ip e равна на /root/index.html), а при изпълнението на wget не указваш къде да се свали файлът index.html (в този случай трябва да се зададе да се сваля в /root) и така файлът се сваля там, откъдето изпълняваш скрипта. Виж в коя папка се намираш, когато изпълняваш скрипта. Трябва да се намираш в папка /root или просто махни това "/root/" от $store_ip. Между другото, редът "[root@stoyanov:~]$" изглежда странно. Как така в момента си влязъл с потребител root и уж се намираш в домашната му папка ("~" в случая трябва да значи /root), а накрая ти е изписан $, а не #? Ти с каква дистрибуция или ОС си? И правил ли си някакви промени относно това?
2. За неизпратения sms. Сигурен ли си, че при ръчно изпълнен mail, sms-ът се изпраща? Ако се изпраща, виж дали използваш един и същи потребител, когато изпълняваш скрипта и когато изпълняваш mail ръчно. Пробвай да изпълниш скрипта под root, ако още не си го направил (както казах, онзи ред там изглежда странно).
3. Защо в 6-та точка пише "iptables --list", а не си ни показал изхода от тази команда? Защо тогава я изпълняваш?

edit0: А, забравих да вметна. Ако имаш инсталиран curl, можеш да си опростиш малко изпълнението на скрипта като не теглиш някакъв файл, който да остава на машината, а просто си вземеш IP-то в променлива, а именно
Примерен код
store_ip=`curl -s http://whatismyip.org`

Обърни внимание на кавичките, които съм използвал. Това е единичната кавичка, която се намира на клавиша с вълничката (~), горе вляво.
След това можеш да си подредиш mail командата в скрипта и така
Примерен код
echo "$store_ip" | mail -a "From: $from" -t $to


edit1: Оп, още един проблем видях в твоя скрипт - загради стойностите на променливите $from и $to в кавички. Т.е.
Примерен код
from="blq@blq.bg"
to="35988XXXXXXX@sms.mtel.net"




Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Ddns в опростен вариант, как да?
« Отговор #22 -: Aug 17, 2008, 11:13 »
http://whatismyip.org/ <- Това е линка!
Активен

mobilio - професионални мобилни приложения

h7d8

  • Напреднали
  • *****
  • Публикации: 197
  • Distribution: Debian;Ubuntu
  • Window Manager: Gnome
    • Профил
Ddns в опростен вариант, как да?
« Отговор #23 -: Aug 17, 2008, 15:27 »
Цитат (neter @ Авг. 17 2008,13:08)
Я!? Кога сте извадили тази тема от архива? Пропуснал съм да я видя '<img'>
h7d8, относно последния ти пост:
1. За това, че ти изписва "Null message body; hope that's ok". В скрипта си забил статичен път, където да се търси index.html (демек това, че променливата $store_ip e равна на /root/index.html), а при изпълнението на wget не указваш къде да се свали файлът index.html (в този случай трябва да се зададе да се сваля в /root) и така файлът се сваля там, откъдето изпълняваш скрипта. Виж в коя папка се намираш, когато изпълняваш скрипта. Трябва да се намираш в папка /root или просто махни това "/root/" от $store_ip. Между другото, редът "[root@stoyanov:~]$" изглежда странно. Как така в момента си влязъл с потребител root и уж се намираш в домашната му папка ("~" в случая трябва да значи /root), а накрая ти е изписан $, а не #? Ти с каква дистрибуция или ОС си? И правил ли си някакви промени относно това?
2. За неизпратения sms. Сигурен ли си, че при ръчно изпълнен mail, sms-ът се изпраща? Ако се изпраща, виж дали използваш един и същи потребител, когато изпълняваш скрипта и когато изпълняваш mail ръчно. Пробвай да изпълниш скрипта под root, ако още не си го направил (както казах, онзи ред там изглежда странно).
3. Защо в 6-та точка пише "iptables --list", а не си ни показал изхода от тази команда? Защо тогава я изпълняваш?

edit0: А, забравих да вметна. Ако имаш инсталиран curl, можеш да си опростиш малко изпълнението на скрипта като не теглиш някакъв файл, който да остава на машината, а просто си вземеш IP-то в променлива, а именно
Примерен код
store_ip=`curl -s http://whatismyip.org`

Обърни внимание на кавичките, които съм използвал. Това е единичната кавичка, която се намира на клавиша с вълничката (~), горе вляво.
След това можеш да си подредиш mail командата в скрипта и така
Примерен код
echo "$store_ip" | mail -a "From: $from" -t $to


edit1: Оп, още един проблем видях в твоя скрипт - загради стойностите на променливите $from и $to в кавички. Т.е.
Примерен код
from="blq@blq.bg"
to="35988XXXXXXX@sms.mtel.net"


Тези неща ги изпълнявам ,но пак ми казва ,че няма месидж.Когато пробвам с curl ми показва следното:
[root@stoyanov:~]$ sh ip.sh
ip.sh: line 7: 87.126.72.28: No such file or directory

Изпълнявам с роот и съм в роот дир-а.По-горе реда в който съм писал за iptables..само проверявам дали всичко е наред.Ако пробваме да го опростим с curl дали ще може да вмъкнем в скрипта да извлича ,ако харда е пълен и ако има голямо натоварване на CPU.Относно странното [root@stoyanov:~]$ то изглежда така:
Примерен код
'\[\033[1;32m\][\[\033[0m\]\[\033[1;37m\]\u\[\033[0m\]\[\033[1;31m\]@\033[0m\]\[\033[1;37m\]\h:\w\[\033[0m\]\[\033[1;32m\]]\[\033[0m\]\[\033[1;34m\]$\[\033[0m\] '
,можеби съм мацнал нещо ,но смятам че не е фатално.С debian etch съм. '<img'>



Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #24 -: Aug 17, 2008, 17:10 »
Нормално е да ти гърми с така използвания curl - не си си преправил mail командата по начина, по който ти показах. Ето как трябва да изглежда скриптът
Примерен код
#!/bin/bash

store_ip=`curl -s http://whatismyip.org`
from="blq@blq.bg"
to="35988XXXXXXX@sms.mtel.net"

echo "$store_ip" | mail -a "From: $from" -t $to
echo "Done! IP Adress: Send"
echo "Done! IP Adress: Send" >> /var/log/messages

Така скриптът трябва да работи. Има обаче една подробност - в момента явно има някаква нестабилност в услугата mail2sms на MTel '<img'> В момента, когато пиша този пост, и аз не мога да изпратя sms нито ръчно, нито със скриптовете ми, които от години си ми пращат sms-и за разни неща. Цял ден не бях пред компютъра и се чудех защо не съм получил нито един sms за това време. Така че, изпиши си скрипта така, както ти го дадох и чакай услугата да се стабилизира.

P.S.: За протокола. Командата mail има две разновидности. При теб си е тази, за която говорим, но има и друга, при която опциите са други, а този ред при нея трябва да се формира по същия начин, но без -t. Т.е.
Примерен код
echo "$store_ip" | mail -a "From: $from" $to

Но, както казах, това е само за протокола, така че ти не го вземай предвид.

edit: Забравих да ти обясня защо в момента скриптът ти гърми с грешката "ip.sh: line 7: 87.126.72.28: No such file or directory". Тъй като си променил задаването на променливата $store_ip така, както ти казах, но не си променил реда с командата mail, то при изпълнението на скрипта след заменяне на променливите с реалните стойности се е получил такъв ред
Примерен код
mail -a "From: blq@blq.bg" -t 35988XXXXXXX@sms.mtel.net < "87.126.72.28"

Както сам виждаш, получава се, че текстът на писмото трябва да се извлече от файла 87.126.72.28, а такъв файл няма. При реда с командата mail, който ти давам аз, нямаме извличане на текста на писмото от външен файл, а текстът на писмото се получава от съдържанието на echo, което седи преди mail командата '<img'>



Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

h7d8

  • Напреднали
  • *****
  • Публикации: 197
  • Distribution: Debian;Ubuntu
  • Window Manager: Gnome
    • Профил
Ddns в опростен вариант, как да?
« Отговор #25 -: Aug 17, 2008, 18:46 »
Цитат (neter @ Авг. 17 2008,20:10)
Нормално е да ти гърми с така използвания curl - не си си преправил mail командата по начина, по който ти показах. Ето как трябва да изглежда скриптът
Примерен код
#!/bin/bash

store_ip=`curl -s http://whatismyip.org`
from="blq@blq.bg"
to="35988XXXXXXX@sms.mtel.net"

echo "$store_ip" | mail -a "From: $from" -t $to
echo "Done! IP Adress: Send"
echo "Done! IP Adress: Send" >> /var/log/messages

Така скриптът трябва да работи. Има обаче една подробност - в момента явно има някаква нестабилност в услугата mail2sms на MTel '<img'> В момента, когато пиша този пост, и аз не мога да изпратя sms нито ръчно, нито със скриптовете ми, които от години си ми пращат sms-и за разни неща. Цял ден не бях пред компютъра и се чудех защо не съм получил нито един sms за това време. Така че, изпиши си скрипта така, както ти го дадох и чакай услугата да се стабилизира.

P.S.: За протокола. Командата mail има две разновидности. При теб си е тази, за която говорим, но има и друга, при която опциите са други, а този ред при нея трябва да се формира по същия начин, но без -t. Т.е.
Примерен код
echo "$store_ip" | mail -a "From: $from" $to

Но, както казах, това е само за протокола, така че ти не го вземай предвид.

edit: Забравих да ти обясня защо в момента скриптът ти гърми с грешката "ip.sh: line 7: 87.126.72.28: No such file or directory". Тъй като си променил задаването на променливата $store_ip така, както ти казах, но не си променил реда с командата mail, то при изпълнението на скрипта след заменяне на променливите с реалните стойности се е получил такъв ред
Примерен код
mail -a "From: [EMAIL=blq@blq.bg]blq@blq.bg[/EMAIL]" -t [EMAIL=35988XXXXXXX@sms.mtel.net]35988XXXXXXX@sms.mtel.net[/EMAIL] < "87.126.72.28"

Както сам виждаш, получава се, че текстът на писмото трябва да се извлече от файла 87.126.72.28, а такъв файл няма. При реда с командата mail, който ти давам аз, нямаме извличане на текста на писмото от външен файл, а текстът на писмото се получава от съдържанието на echo, което седи преди mail командата '<img'>

Прав си ,мерси за корекциите сега остава да почакаме да оправят от мтел услугата.
Примерен код
[root@stoyanov:~]$ sh ip.sh
Done! IP Adress: Send

Ръчно какъв е точно синтаксиса на едната команда?С mail --help немога да го наредя. '<img'>
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #26 -: Aug 17, 2008, 18:59 »
Цитат (h7d8 @ Авг. 17 2008,18:46)
Ръчно какъв е точно синтаксиса на едната команда?С mail --help немога да го наредя. '<img'>

Синтаксисът е същият, както в скрипта. Само замени променливите с техните стойности
Примерен код
echo "`curl -s http://whatismyip.org`" | mail -a "From: blq@blq.bg" -t 35988XXXXXXX@sms.mtel.net




Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

h7d8

  • Напреднали
  • *****
  • Публикации: 197
  • Distribution: Debian;Ubuntu
  • Window Manager: Gnome
    • Профил
Ddns в опростен вариант, как да?
« Отговор #27 -: Aug 17, 2008, 19:23 »
Цитат (neter @ Авг. 17 2008,21:59)
Цитат на: h7d8,Авг. 17 2008,18:46
Ръчно какъв е точно синтаксиса на едната команда?С mail --help немога да го наредя. '<img'>

Синтаксисът е същият, както в скрипта. Само замени променливите с техните стойности
Примерен код
echo "`curl -s http://whatismyip.org`" | mail -a "From: [EMAIL=blq@blq.bg]blq@blq.bg[/EMAIL]" -t [EMAIL=35988XXXXXXX@sms.mtel.net]35988XXXXXXX@sms.mtel.net[/EMAIL]

Говоря за майл както му е реда.От,тема,копие,съдържание.М/у другото още не са оправили mail2sms.Така съставения скрипт обаче ,ще праща IP само при рестарт на машината.Ако pppoe пропадне при следващото закачане няма да прати смс с новия адрес.На бтк съм.. и аз по някъв начин се боря с динамичните адреси. '<img'> Ако вмъкнем това което ползва redcure ;
Примерен код
EXTIF=ppp0
EXTIP=`/sbin/ifconfig $EXTIF | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`
echo "$EXTIP"  
дали ще има ефект.Или ако eth0 е dhcp какъв е начина при даване на адрес скрипта да извлича ИП.Любопитно ми е и искам да знам някой от вариантите. '<img'>



Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Ddns в опростен вариант, как да?
« Отговор #28 -: Aug 18, 2008, 01:18 »
//offtopic

Проблемът с услугата mail2sms май ще излезе от съвсем друго естество. Забелязах, че от техния сайт може да се изпрати sms без проблем, но от всички други сървъри, от които пробвах, не може. Явно са блокирали услугата поради някаква причина и (мое предположение) най-вероятно става дума за пари, но засега не откривам никаква информация по въпроса. Язък, ако направят услугата платена, но... каквото, такова '<img'>

//ontopic

Аз пак не разбрах какво точно искаш да ти обясня около mail командата и писмото. Дай някакъв пример, че да хвана идеята ти. А относно изпращането на писмо (да използваме общата дума писмо, защото не се знае какво ще става с услугата mail2sms) при всяка смяна на IP-то, в момента се сещам само за едно предложение, което да ти дам - преправи скрипта да изглежда така
Примерен код
store_ip=`curl -s http://whatismyip.org`
old_ip=`cat /някакъв/път/файл_в_който_да_се_пази_IPто`
from="blq@blq.bg"
to="35988XXXXXXX@sms.mtel.net"

if [ "$old_ip" != "$store_ip" ]; then
    echo "$store_ip" | mail -a "From: $from" -t $to
    echo "Done! IP Adress: Send" >> /var/log/messages
    echo $store_ip > /някакъв/път/файл_в_който_да_се_пази_IPто
fi

Създай файла "/някакъв/път/файл_в_който_да_се_пази_IPто" предварително. След като си готов със скрипта, сложи го за изпълнение в cron на всеки 5 минути например (да не е съвсем начесто, тъй като whatismyip.org са сложили ограничения и, ако е много начесто, в много моменти скриптът няма да може да получи информация от там). Така, при всяко изпълнение на скрипта от cron-а ще се взема настоящото ти IP, ще се сравнява с това, което се пази във файла "/някакъв/път/файл_в_който_да_се_пази_IPто" и, ако са различни, ще ти изпраща писмо с новото IP и ще обновява записа във файла "/някакъв/път/файл_в_който_да_се_пази_IPто". Редът на redcure не ти върши работа, тъй като въпросното IP не се задава в твоята система, а в модема на БТК. Има хипотетична вероятност в настройките на модема да може да се зададе да изпълнява нещо при подновяване на връзката, но ти май нямаш достъп до неговите настройки. Ако имаш желание, може да врътнеш една шайба до поддръжката на БТК и да ги питаш за информация или съдействие, но малко се съмнявам, че ще получиш това, което ти е нужно. Иначе, ако това IP се намираше на твоята машина, редът на redcure върши работа и можеше да го сложиш за изпълнение при задаването на $store_ip променливата на мястото на curl командата. Това, което прави редът на redcure, е да изпълни ifconfig и да изреже само нужното IP от изхода на командата.

P.S.: Какъв е смисълът да записваш във /var/log/messages някакви ни в клин, ни в ръкав редове "Done! IP Adress: Send"? Сложи го да бъде поне така
Примерен код
echo "[`date`]: Done! IP Adress: Send" >> /var/log/messages

за да знаеш поне кога точно се е случило това. Допълнително, файлът /var/log/messages не е много удачно решение за файл, в който да пазиш този лог. Направи си някакъв файл, в който да си пълниш само тази информация, за да не се ровиш из купчината друга информация във /var/log/messages. Виж и дали можеш да си измислиш още нещо по-информативно, което да си пазиш в този лог и, ако не се справяш с изписването му в скрипта, ще помагаме. Всяко действие в скрипта трябва да е с някаква практична цел, иначе става излишно '<img'>



Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

h7d8

  • Напреднали
  • *****
  • Публикации: 197
  • Distribution: Debian;Ubuntu
  • Window Manager: Gnome
    • Профил
Ddns в опростен вариант, как да?
« Отговор #29 -: Aug 18, 2008, 16:19 »
Цитат
//offtopic

Проблемът с услугата mail2sms май ще излезе от съвсем друго естество. Забелязах, че от техния сайт може да се изпрати sms без проблем, но от всички други сървъри, от които пробвах, не може. Явно са блокирали услугата поради някаква причина и (мое предположение) най-вероятно става дума за пари, но засега не откривам никаква информация по въпроса. Язък, ако направят услугата платена, но... каквото, такова :)

//ontopic

Аз пак не разбрах какво точно искаш да ти обясня около mail командата и писмото. Дай някакъв пример, че да хвана идеята ти. А относно изпращането на писмо (да използваме общата дума писмо, защото не се знае какво ще става с услугата mail2sms) при всяка смяна на IP-то, в момента се сещам само за едно предложение, което да ти дам - преправи скрипта да изглежда така
<!--c1--></span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td><b>Примерен код</b> </td></tr><tr><td id="CODE"><!--ec1-->store_ip=`curl -s http://whatismyip.org`
old_ip=`cat /някакъв/път/файл_в_който_да_се_пази_IPто`
from="blq@blq.bg"
to="35988XXXXXXX@sms.mtel.net"

if [ "$old_ip" != "$store_ip" ]; then
    echo "$store_ip" | mail -a "From: $from" -t $to
    echo "Done! IP Adress: Send" >> /var/log/messages
    echo $store_ip > /някакъв/път/файл_в_който_да_се_пази_IPто
fi<!--c2--></td></tr></table><span id='postcolor'><!--ec2-->
Създай файла "/някакъв/път/файл_в_който_да_се_пази_IPто" предварително. След като си готов със скрипта, сложи го за изпълнение в cron на всеки 5 минути например (да не е съвсем начесто, тъй като whatismyip.org са сложили ограничения и, ако е много начесто, в много моменти скриптът няма да може да получи информация от там). Така, при всяко изпълнение на скрипта от cron-а ще се взема настоящото ти IP, ще се сравнява с това, което се пази във файла "/някакъв/път/файл_в_който_да_се_пази_IPто" и, ако са различни, ще ти изпраща писмо с новото IP и ще обновява записа във файла "/някакъв/път/файл_в_който_да_се_пази_IPто". Редът на redcure не ти върши работа, тъй като въпросното IP не се задава в твоята система, а в модема на БТК. Има хипотетична вероятност в настройките на модема да може да се зададе да изпълнява нещо при подновяване на връзката, но ти май нямаш достъп до неговите настройки. Ако имаш желание, може да врътнеш една шайба до поддръжката на БТК и да ги питаш за информация или съдействие, но малко се съмнявам, че ще получиш това, което ти е нужно. Иначе, ако това IP се намираше на твоята машина, редът на redcure върши работа и можеше да го сложиш за изпълнение при задаването на $store_ip променливата на мястото на curl командата. Това, което прави редът на redcure, е да изпълни ifconfig и да изреже само нужното IP от изхода на командата.

P.S.: Какъв е смисълът да записваш във /var/log/messages някакви ни в клин, ни в ръкав редове "Done! IP Adress: Send"? Сложи го да бъде поне така
<!--c1--></span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td><b>Примерен код</b> </td></tr><tr><td id="CODE"><!--ec1-->echo "[`date`]: Done! IP Adress: Send" >> /var/log/messages<!--c2--></td></tr></table><span id='postcolor'><!--ec2-->
за да знаеш поне кога точно се е случило това. Допълнително, файлът /var/log/messages не е много удачно решение за файл, в който да пазиш този лог. Направи си някакъв файл, в който да си пълниш само тази информация, за да не се ровиш из купчината друга информация във /var/log/messages. Виж и дали можеш да си измислиш още нещо по-информативно, което да си пазиш в този лог и, ако не се справяш с изписването му в скрипта, ще помагаме. Всяко действие в скрипта трябва да е с някаква практична цел, иначе става излишно <!--emo&;)--><img src="http://www.linux-bg.org/iB_html/non-cgi/emoticons/wink.gif" border="0" valign="absmiddle" alt=';)'><!--endemo-->
<span style='color:purple'>Дано не се окаже ,че това е излишно.Ако мтел спрът тази услуга ще е много лошо.До модема имам достъп, <!--emo&:)--><img src="http://www.linux-bg.org/iB_html/non-cgi/emoticons/smile.gif" border="0" valign="absmiddle" alt=':)'><!--endemo--> и в момента съм го пуснал бридж и на машината съм пуснал pppoe.Така можеби се оптимизира и няма проблеми с недостик на рам и прочие.Ако има какво да направя още ,бих могъл.За логването си много прав понеже посления път като рових ми мина деня.</span> <!--emo&:ok:--><img src="http://www.linux-bg.org/iB_html/non-cgi/emoticons/thumbs-up.gif" border="0" valign="absmiddle" alt=':ok:'><!--endemo-->
« Последна редакция: Dec 29, 2008, 02:07 от neter »
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Въпрос относно DDNS
Настройка на програми
Ali Nebi 8 5475 Последна публикация Sep 09, 2010, 14:02
от foxb
Настройка на TP-LINK и ddns
Настройка на хардуер
SylaR 1 4052 Последна публикация Jan 07, 2011, 19:20
от Acho
Рутер и DDNS от no-ip
Идеи и мнения
dark_elf 10 8304 Последна публикация Aug 31, 2013, 12:31
от dark_elf
wget и ddns
Настройка на програми
4096bits 16 8567 Последна публикация Mar 12, 2015, 14:46
от 4096bits
DDNS record
Настройка на програми
supportpc 1 3010 Последна публикация Jul 14, 2016, 18:26
от de_dust2