ラズパイのグローバルIPを取得するのに、cronで1時間毎にチェックして、dropboxアップロードするシェルスクリプトを組んでみた
メールでもイイけど、別に変更通知が欲しい訳でもないので、自分が見たい時にdropboxをチェックする方式にしてみた。
新しいバージョンのdropbox_uploaderをダウンロード。
1 |
curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh " -o dropbox_uploader.sh |
Dropboxのホームページで、アプリ(接続許可設定)を作って、Generated access tokenを取得。最初の起動時に入力する(~/.dropbox_uploaderに保存される)
https://www.dropbox.com/developers/apps/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/bin/bash # 以前のIPを変数に格納 old_ip=$(cat raspi4_ip.txt) echo $old_ip # 自分のグローバルIPアドレスの取得。-sオプションは戻り値だけ表示 # 失敗する事もあるので、IP取得するまでループ while [ -z $ip ] do ip=$(curl -s https://ipv4.icanhazip.com/) sleep 1s done # 新しいIPになっていたら、ファイルに上書きして、Dropboxにアップロード if [ $ip != $old_ip ]; then echo $ip echo "$ip" > raspi4_ip.txt ./dropbox_uploader.sh upload raspi4_ip.txt /raspi4_ip.txt fi |
後は、cronで毎時間実行する。
0 * * * * /home/raspi/raspi4_ip.sh