Raspberry Pi ã家ã®å€ããæäœããã®ã«ãã¡ã€ã³ãååŸããããšæã£ããã©ãšãããã IP çŽæã¡ã§ãããããšããããšã§å®æçã«ã°ããŒãã« IP ã¢ãã¬ã¹ãã¹ããŒããã©ã³ã«ã¡ãŒã«ã§éãããšã«ããã
Pidora ã«ã¯ postfix ãã€ã³ã¹ããŒã«ãããŠããªãã®ã§ãŸã㯠postfix ãã€ã³ã¹ããŒã«ã
sudo yum install postfix
sendmail ãã postfix ã«åãæ¿ãããªãããã®å€ã¯ããèŠããèšå®ãã¡ã€ã«ãã³ããŒãããã©ãããå¿ããã
sudo systemctl disable sendmail
sudo systemctl enable postfix
ããŠãã°ããŒãã« IP ã¢ãã¬ã¹ãã©ããã£ãŠååŸãããã ãã©ãã¢ã¯ã»ã¹ãããšã°ããŒãã« IP ã¢ãã¬ã¹ãè¿ããŠããã http://httpbin.org
ãå©çšãããŠãããããšã«ãããwget
ã curl
㧠/ip
ããŒãžã«ã¢ã¯ã»ã¹ããã
wget -qO- http://httpbin.org/ip
ãããªæååãè¿ã£ãŠããïŒä»¥äžã¯ãããŒã®ã°ããŒãã« IP ã¢ãã¬ã¹ïŒã
{ "origin": "111.111.111.111" }
cron çšã®ã¹ã¯ãªãããæžããcrontab ã«çŽæ¥æžããŠããããã©ä»åã¯å¥ãã¡ã€ã«ãmail
ã³ãã³ãã®æšæºå
¥åã«æ¬æãšã㊠date
ã³ãã³ãã®åºåçµæããã°ããŒãã« IP ã¢ãã¬ã¹ã件åã«ãããhttpbin.org ããã®æåå㯠awk
ãããªãããã§é©åœã«æŽåœ¢ãã°ããŒãã« IP ã¢ãã¬ã¹ã件åã«ããã®ã¯ãã°ããŒãã« IP ã¢ãã¬ã¹ãå€ãããªããã¡ã¯ä»¶åãå€ãããªãã®ã§ã¹ã¬ãã衚瀺察å¿ã®ã¡ãŒã«ã¯ã©ã€ã¢ã³ãã®å Žåã«è¡šç€ºéãæããããããã
#!/bin/sh date \ | mail -s "$( wget -qO- http://httpbin.org/ip \ | tr -d \" \ | awk '/origin/{ print $2 }' )" foo@example.com
crontab ã«ä»¥äžã®ããã«æžããŠããããšã§1æéããã«ã°ããŒãã« IP ã¢ãã¬ã¹ãæžãããã¡ãŒã«ãéã£ãŠããããïŒ1æéãããªã /etc/cron.hourly
ã«çœ®ããŠãããããã¹ããªã®ã§åŒãããããšããã«èšçœ®ïŒ
0 * * * * foo /usr/local/bin/send_global_ip.sh
ã°ããŒãã« IP ã¢ãã¬ã¹ãå€æŽã«ãªã£ããšãã¯äžäŸ¿ã ãã©æè¿ã®åºå®åç·ãªãããŸãå€ããããšã¯ãªãã®ã§è¯ããšããã
ãªããå·®åºäººã¯ $USER
ãã¡ãŒã«ã¢ãã¬ã¹ã¯ $USER@$HOSTNAME
ã§éãããŠããããã¹ãåã hoge
ãªã foo@hoge.local
ã§éãããŠããã®ã§è¿ä¿¡äžå¯ã§ããïŒå®¶ã®äžãªãè¿ä¿¡ã§ããã®ãïŒïŒã
tr
ãš awk
éšåã sed
ã§æžããšãããªæãïŒ
wget -qO- http://httpbin.org/ip | sed -n '/origin/s/.*: "\([0-9]*\)"/\1/p'