Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: asp в Mar 07, 2010, 06:49



Титла: Малък скрипт
Публикувано от: asp в Mar 07, 2010, 06:49
 [_]3, ттрябва ми някъкав малък скрипт. Ето какво точно:
влиза в сайт примерно cmyip.com - вижда ми кво е IP-то и го запазва tmp файл. Това ще е пуснато на крон през 5 минути да го прави това действие. Искам когато забележи, че IP_то е сменено запази новото IP, тва са му домашните и другото което е да изпълни един линк след домашните.


Титла: Re: Малък скрипт
Публикувано от: neter в Mar 07, 2010, 17:33
Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. tmp_file="/път/до/временния/файл/име_на_файла"
  4. link="http://link.for.execution/"
  5.  
  6. ### НЕ Е НУЖНО ПОВЕЧЕ РЕДАКТИРАНЕ ###
  7.  
  8. current_ip=`/usr/bin/curl -s http://www.whatismyip.com/automation/n09230945.asp`
  9. recorded_ip=`cat $tmp_file`
  10.  
  11. if [ "$current_ip" != "$recorded_ip" ]; then
  12.      echo $current_ip > $tmp_file
  13.      /usr/bin/curl -s $link >/dev/null
  14. fi
Ако искаш линкът да се изпълнява не само тогава, когато IP-то се е сменило, изнеси реда, в който curl го изпълнява, под "fi". Ако при теб изпълнимият файл на curl не се намира в /usr/bin, то смени пътя с твоя ;)


Титла: Re: Малък скрипт
Публикувано от: dejuren в Mar 07, 2010, 18:03
ето ти и втори вариант за запас
Код:
#!/bin/bash

IPFILE=/tmp/ipaddress
LINK="http://link/"

CURRENT_IP=$(wget -qO - http://cfaj.freeshell.org/ipaddr.cgi)

if [ -f $IPFILE ]; then
KNOWN_IP=$(cat $IPFILE)
else
KNOWN_IP=
fi

if [ "$CURRENT_IP" != "$KNOWN_IP" ]; then
echo $CURRENT_IP > $IPFILE
wget -q $LINK
logger -t ipcheck -- IP changed to $CURRENT_IP
else
logger -t ipcheck -- No IP change
fi


Титла: Re: Малък скрипт
Публикувано от: asp в May 09, 2010, 23:50
Ейй, благодарности :) :P