Portál AbcLinuxu, 12. května 2025 15:47
A co takhle použít místo mailu DynDNS?
#!/bin/sh # Prihlasovaci udaje LOGIN='test' PASSWORD='test' HOST='test.dyndns.org' # Log soubor LOG=/var/log/dyndns.log # Odeslani nove IP adresy & zalogovani vysledku if [ $2 = "new" ]; then export `grep 'IPADDR' $1` curl -k -u "$LOGIN:$PASSWORD" "https://members.dyndns.org/nic/update?hostname=$HOST&myip=$IPADDR" >> $LOG date +"%t%D %T" >> $LOG fi
Tohle stačí uložit do souboru /etc/dhcpc/dhcpcd.exe
(což je mimochodem ten soubor, kterej hledáš, viz man dhcpcd
) a máš rázem "pevné doménové jméno".
I v tomhle případě DynDNS použít samozřejmě lze - jedný IP adrese může být přiřazeno víc jmen. DynDNS IMHO dokonce nabízí přímo službu, kdy si pro váš stroj můžete zvolit vlastní doménové jméno (tzn mimo nabídku domén DynDNS). Ta je ale myslim už placená a je otázka jestli není levnější si koupit u vašeho ISP pevnou IP adresu...
cron
u nechodí.
Kde máš chybu v tom bordelu nahoře ti nepovim (a ani nikdo jinej nebude pravděpodobně mít chuť se v takhle "naformátovanym" kódu hrabat), ale poradim ti se vykašlat na cron a použít ten soubor /etc/dhcpc/dhcpcd.exe
. Kdyby si si totiž přečetl manuál k dhcpcd jak jsem ti radil, věděl bys, že dhcpcd
při změně na interface tenhle soubor automaticky spouští s parametry soubor_rozhrani
, akce
. Takže script pak může vypadat nějak takhle:
#!/bin/bash INFOFILE='/etc/dhcpc/dhcpcd-eth0.info' if [ $2 = "new" -a $1 = "$INFOFILE" ]; then export `grep 'IPADDR' $1` # Tady provadim pozadovane akce s aktualni # IP adresou v promenne $IPADDR fi
kde "kód" v komentáři se provede pokud dojde na rozhraní ke změně IP adresy. Žádnej cron není potřeba.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.