Os|r|s Skrevet 30. desember 2003 Del Skrevet 30. desember 2003 Hei Sitter med en linux server som enkelte ganger får ny ip adresse da kabelmodemet blir restartet (avidi arg..). Er jeg i nærheten av serveren når dette skjer kjører jeg bare en ip addr, for så å oppdatere dns for domenet. Nå har det seg slik at jeg fram til sommeren vil være ute av stand til å logge meg på servern direkte (ikke via nettet) Har noen tips til hvordan jeg kan scripte slik at en mail, med den nye adressen sendes, hvis outputten fra ip addr endrer seg? Eventuelt bare kjøre ip addr > fil, send fila til en mail adresse en gang i timen? Hvis jeg oppretter en hotmail adresse vil jo gamle mailer automatisk bli slettet.. Er egentlig ganske grønn i bashprogrammering så hvis noen har en komplett løsning så kom gjerne med den. Ellers mottas alle forslag med takk Lenke til kommentar
tvangsgreie Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 du kan sende en fil med sendmail -s "Ny ipadresse" [email protected] < ipadresse.txt Om du får skrevet ipadressen til ipadresse.txt, og du har den gamle adressen i gammeladresse.txt, kan du gjøre noe slikt: echo ny.ip > ipadresse.txt && diff -q ipadresse.txt gammeladresse.txt || cp ipadresse.txt gammeladresse.txt && sendmail -s "Ny ipadresse" [email protected] < ipadresse.txt (utestet) Lenke til kommentar
Os|r|s Skrevet 3. januar 2004 Forfatter Del Skrevet 3. januar 2004 Takk for svaret. Jeg har allerede skrevet denne koden #!/bin/bash # # AUTOMATIC NETWORK TECHNOLOGY # IP INFORMATION NOTIFICATION SCRIPT V 0.1 (IINS) # Copyright 2003,2004 Stian Engen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # http://www.gnu.org/licenses/gpl.txt # # # #This scripts gets ip information which it then compares with the information it got last time it checked. #If the ip has changed, it send a mail containg updated ip information. # FROM=`uname -n` #The hostname of the senders system #-The mail body- # PART1="This is an auto generated message, telling you that the IP adress for $FROM has changed" #What to write in the mail the we may send (formated with linebreak later) PART2="The new ip is : " #Here the new IP will be printed #Continued... PART3="Generated and sent `date` by \n$FROM" #Contains infotmation about the time created and senders hostname # #-mail body ends here- SUBJECT="`date +%d.%m.%y`-`date +%H:%M` IP for $FROM" #Subject. Includes date HH:MM - dd.mm [email protected] #The mail adress to send the IP-information to #The IP-Files OLD=/tmp/ip.old #The old "ip-file" Putting it in tmp ensures clean at boot NEW=/tmp/ip.new #The new "ip-file" ip addr | grep -n "global eth0" > $NEW #Prints the line containg the ip adress for eth0 to the new file INFO=`cat $NEW | tr -cd '\012[0-9] [=.=]'` #Cleans the new "ip-file" before printing to $INFO for sending cmp $OLD $NEW &> /dev/null #cmp compares the two files. # /dev/null buries the output of the "cmp" command. # cmp -s $1 $2 has same result ("-s" silent flag to "cmp") if [ $? -eq 0 ] #Test exit status of "cmp" command. then : #If the files are the same (no exit status) the script does nothing . else #But if they are different echo -e "$PART1\n \n $PART2 $INFO \n \n \n$PART3" | mail -s "$SUBJECT" $RECIPENT #A mail containg the new IP-information is sent to the given recipent fi #ends the if command cp -f $NEW $OLD #replaces the old "ip-file" with the new one, so that the script won't send #the next time it is beeing run, unless the ip-adress changes exit 0 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå