Kirjoittaja Aihe: Julkisen IP:n hakeminen ja tallennus (logittaminen)  (Luettu 2529 kertaa)

PaHa

  • Käyttäjä
  • Viestejä: 164
    • Profiili
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ä.

nm

  • Käyttäjä
  • Viestejä: 16232
    • Profiili
Vs: Julkisen IP:n hakeminen ja tallennus (logittaminen)
« Vastaus #1 : 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

PaHa

  • Käyttäjä
  • Viestejä: 164
    • Profiili
Vs: Julkisen IP:n hakeminen ja tallennus (logittaminen)
« Vastaus #2 : 08.02.17 - klo:16.11 »
Ou jee... works like a charm... thank you very many!!  ;)