Raspberry Pi | 撮影した写真を定期的にDropboxへ送り、ローカルから削除するサンプルスクリプトとクーロン設定
こんにちは、tapunです。
前回はDropbox-Uploaderをいうツールを使ってRaspberry PiからコマンドラインでDropboxへ写真をアップロードする方法をお伝えしました。
ただ、毎回コマンドラインをたたくのも面倒ですよね?
今回は、写真撮影と同時にDropnoxへ写真をアップロードし、Raspberry Pi のローカルからは写真を削除するためのサンプルスクリプトとクーロンの設定についてご紹介します。
★前回までのおさらい
Dropbox-Uploaderをダウンロードしてコマンドで写真をアップロードできるようにしました。
定期的に撮影した写真を、都度Dropboxに送る方法
dropboxにアップロードするコマンドを、クーロンで実行させているcamera.shファイルに追記します。
★追記前のcamera.sh バージョン1
#!/bin/bash DATE=$(date +"%Y-%m-%d_%H%M") raspistill -w 800 -h 600 -o /home/tapun/Pictures-cron/$DATE.jpg mutt -s "photo from raspi" example@gmail.com -c example2@gmail.com -a /home/tapun/Pictures-cron/$DATE.jpg < /home/tapun/photo_message.tx
★追記後のcamera.sh バージョン2(Dropboxへ毎回アップロード)
#!/bin/bash DATE=$(date +"%Y-%m-%d_%H%M") FILENAME=$(date +"%Y-%m") raspistill -w 800 -h 600 -o /home/tapun/Pictures-cron/$DATE.jpg mutt -s "photo from raspi" example@gmail.com -c example2@gmail.com -a /home/tapun/Pictures-cron/$DATE.jpg < /home/tapun/photo_message.txt bash dropbox_uploader.sh upload -s /home/tapun/Pictures-cron/$DATE.jpg /raspi-photo/$FILENAME
予めDropbox側で今月用のフォルダ”2015-11″を作成しておき、そこの配下に写真をアップロードしています。
毎月、新しいフォルダ(YYYY-MM)をDropbox側で作成しておく方法
はじめは手動で”2015-11″フォルダをdropbox側で作成したけど、12月以降はどうなっちゃうの?
たぶん毎月手動でフォルダを作成するのは難しい(忘れる・・・)ので、自動的に”YYYY-MM”フォルダを作成するためのスクリプトをクーロン設定することにしました!
★毎月”YYYY-MM”フォルダを作成するスクリプト
※Dropboxのアプリフォルダ配下に”/raspi-photo/YYYY-MM”フォルダを作成しています。
#!/usr/bin/env bash FILENAME=$(date +"%Y-%m") bash dropbox_uploader.sh mkdir /raspi-photo/$FILENAME/
★クーロン設定
※毎月、1日の00:00にスクリプトを実行するように設定しています。
$ crontab -l (略) 0 0 1 * sudo sh /home/yiwase/dropbox_mkdir.sh
定期的にDropboxへ送った写真をRaspberry Pi本体からは削除する方法
写真データは増える一方なので、毎回Dropboxへアップロード後にRaspberry Pi のローカルからは削除することにしました。
★追記後のcamera.sh バージョン3(アップロード後は写真を削除)
#!/bin/bash DATE=$(date +"%Y-%m-%d_%H%M") FILENAME=$(date +"%Y-%m") raspistill -w 800 -h 600 -o /home/tapun/Pictures-cron/$DATE.jpg mutt -s "photo from raspi" example@gmail.com -c example2@gmail.com -a /home/tapun/Pictures-cron/$DATE.jpg < /home/tapun/photo_message.txt bash dropbox_uploader.sh upload -s /home/tapun/Pictures-cron/* /raspi-photo/$FILENAME rm /home/tapun/Pictures-cron/*
※毎回写真を消しているので、アップロード時は”pictures-cron”以下のすべてのファイルを選択するようにし、またrmコマンドでそこに存在するすべての写真を消しています。
まとめ
シェルスクリプトとクーロンを使うことで、写真撮影+メール送信+Dropnoxアップロード、ローカルからの削除の一連の流れを自動化することができました!
今現在、この運用で問題なく稼働しています。
次回はなにやろうかな~と模索中です。
コメントを残す