Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: 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ä.
-
Päivämäärän ja ajan saat date-komennolla haluamaasi muotoon. Esimerkiksi:
date +"%d.%m.%Y,%H:%M"
IP-osoitteen voi kysellä jostain tarkoitukseen tarjottavasta palvelusta:
wget -qO- ipinfo.io/ip
Skripti:
#!/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:
chmod a+x log-public-ip
Testaa:
~/log-public-ip
cat ~/public_ip.log
Ajasta cronilla, editoimalla käyttäjän crontabia:
crontab -e
Kirjoita tiedoston loppuun uusi rivi:
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ä:
* * * * * ${HOME}/log-public-ip
-
Ou jee... works like a charm... thank you very many!! ;)