Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: PaHa - 08.02.17 - klo:14.31

Otsikko: Julkisen IP:n hakeminen ja tallennus (logittaminen)
Kirjoitti: PaHa - 08.02.17 - klo:14.31
Tervehdys!

Millaisella skriptillä kannattaisi tehdä komento joka katsoo julkisen ip:n (vaikka kerran / 12h) ja tallentaa sen logitiedostoon?

Logissa olisi hyvä olla esim. Päivämäärä (p.kk.vv), kloaika (24h), julkinen ip-osoite

Jos tuollaisen saisi tekstimuotoon pilkuilla erotettuna niin olisi aika helppo jatkokäsitellä vaikkapa excelillä.
Otsikko: Vs: Julkisen IP:n hakeminen ja tallennus (logittaminen)
Kirjoitti: nm - 08.02.17 - klo:15.20
Päivämäärän ja ajan saat date-komennolla haluamaasi muotoon. Esimerkiksi:

Koodia: [Valitse]
date +"%d.%m.%Y,%H:%M"
IP-osoitteen voi kysellä jostain tarkoitukseen tarjottavasta palvelusta:

Koodia: [Valitse]
wget -qO- ipinfo.io/ip
Skripti:
Koodia: [Valitse]
#!/bin/sh

logfile=${HOME}/public_ip.log

dt=$(date +"%d.%m.%Y,%H:%M")
ip=$(wget -qO- ipinfo.io/ip)

echo "$dt,$ip" >> $logfile

Kirjoita vaikka geditillä tiedostoon ~/log-public-ip ja aseta ajettavaksi:
Koodia: [Valitse]
chmod a+x log-public-ip
Testaa:
Koodia: [Valitse]
~/log-public-ip
Koodia: [Valitse]
cat ~/public_ip.log
Ajasta cronilla, editoimalla käyttäjän crontabia:

Koodia: [Valitse]
crontab -e
Kirjoita tiedoston loppuun uusi rivi:
Koodia: [Valitse]
0 0,12 * * * ${HOME}/log-public-ip
Tallenna tiedosto ja sulje editori (nanossa Ctrl+O ja Ctrl+X).
Cron-ajastus "0 0,12 * * *" suorittaa komennon joka päivä klo 00:00 ja 12:00. Voit myös aluksi testata vaikka minuutin välein crontab-rivillä:
Koodia: [Valitse]
* * * * * ${HOME}/log-public-ip
Otsikko: Vs: Julkisen IP:n hakeminen ja tallennus (logittaminen)
Kirjoitti: PaHa - 08.02.17 - klo:16.11
Ou jee... works like a charm... thank you very many!!  ;)