[IP]定期的にグローバルIPアドレスを調べてメールで知らせる【applescript】
外出時のリモートアクセス用
こちらの記事[LINK]
の取得方法で
グローバルIPアドレスを取得して
メールで指定アドレスへ送信します。
---定期的に接続しているグローバルIPアドレスを取得してメールで送信します
---AppleMailを使って送信しますので
---AppleMailの送信設定(パスワードの保存等)の設定が別途必要です
----【設定1/3】送信するメールアドレス
set SendMailADD to "your@Mailadd.com" as Unicode text
----【設定2/3】何秒毎に処理するか 60で1分毎 1800で30分毎 3600で1時間毎
set IntTime to "60"
----【設定3/3】何回まで繰り返し処理するか
set TryCnt to "9999"
repeat TryCnt times
tell application "Finder"
set CnowTime to my DateAndTIme(current date)
set nowTime to CnowTime as Unicode text
set DirName to characters 1 thru 8 of nowTime as Unicode text
set SaveFile to "/tmp/" & DirName & "/" & nowTime & ".txt"
set MkDirCmd to "mkdir -p /tmp/" & DirName as Unicode text
try
do shell script MkDirCmd
end try
set ClearDir to "rm -f /tmp/" & DirName & "/*txt"
try
do shell script ClearDir
end try
set My_URL to "http://applescriptip.appspot.com/?callback=getip" as Unicode text
set ShCmd to "curl " & My_URL
set ShCmd to "curl " & My_URL & " >> " & SaveFile
try
set OriginaltheIP to do shell script ShCmd
end try
end tell
set Openfile to POSIX file SaveFile
set OpenF to open for access alias Openfile
set ReadF to read OpenF
close access OpenF
tell application "Mail"
set theNewMessage to make new outgoing message with properties {subject:"IP" & nowTime, content:ReadF, visible:true}
tell theNewMessage
make new to recipient at end of to recipients with properties {address:SendMailADD}
send
end tell
end tell
delay IntTime
end repeat
--------------------------------------------------#ここからサブルーチン
to DateAndTIme(theDate)
set y to (year of theDate)
set m to my monthNumStr(month of theDate)
set d to day of theDate
set hms to time of theDate
set hh to h of sec2hms(hms)
set mm to m of sec2hms(hms)
set ss to s of sec2hms(hms)
return (y as text) & my zero1(m) & my zero1(d) & "_" & zero1(hh) & zero1(mm) & zero1(ss)
end DateAndTIme
------------------#月表示を数字に置き換える
to monthNumStr(theMonth)
set monList to {January, February, March, April, May, June, July, August, September, October, November, December}
repeat with i from 1 to 12
if item i of monList is theMonth then exit repeat
end repeat
return i
end monthNumStr
------------------#ゼロサプレス
to zero1(n)
if n < 10 then
return "0" & n
else
return n as text
end if
end zero1
------------------#時間表示を:で分割
to sec2hms(sec)
set ret to {h:0, m:0, s:0}
set h of ret to sec div hours
set m of ret to (sec - (h of ret) * hours) div minutes
set s of ret to sec mod minutes
return ret
end sec2hms
| 固定リンク
「AppleScript」カテゴリの記事
- 濁音 半濁音 置換用レコード(2023.08.21)
- [AppleScript]キーノートの書類サイズを指定して作成(2022.01.09)
- [awk]行頭のスペースを削除する(subで置き換え)(2021.11.16)
- [SpotLight]選択範囲でSpotLight検索(2021.11.03)
- [AppleScript]リソースフォーク(カスタムアイコン)削除(2021.10.12)
この記事へのコメントは終了しました。
コメント