Portál AbcLinuxu, 5. listopadu 2025 23:44
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...
cronu 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.