<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GoogleDrive | ウダ2Blog</title>
	<atom:link href="https://uda2.com/blog/tag/googledrive/feed/" rel="self" type="application/rss+xml" />
	<link>https://uda2.com/blog</link>
	<description>大阪でフリーランスとしてWEB制作している管理人が気になった技術をメモったり、作ったツールの紹介などを綴っているブログです。</description>
	<lastBuildDate>Fri, 07 Jul 2023 07:04:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Raspberry Piで監視カメラ8 GoogleDrive編</title>
		<link>https://uda2.com/blog/raspberry-pi-camera8/</link>
					<comments>https://uda2.com/blog/raspberry-pi-camera8/#respond</comments>
		
		<dc:creator><![CDATA[uda2]]></dc:creator>
		<pubDate>Fri, 09 Nov 2018 14:20:32 +0000</pubDate>
				<category><![CDATA[うだうだ]]></category>
		<category><![CDATA[GoogleDrive]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[監視カメラ]]></category>
		<guid isPermaLink="false">https://uda2.com/blog/?p=2357</guid>

					<description><![CDATA[<p>保存先は普段使っていなくてアプリも入れていないGoogleDriveに任せることにした。 GoogleDriveをCUIで操作するのはいくつかあるのですが、シンプルにアップする事が出来、Rapberry Pi用のバイナリ</p>
The post <a href="https://uda2.com/blog/raspberry-pi-camera8/">Raspberry Piで監視カメラ8 GoogleDrive編</a> first appeared on <a href="https://uda2.com/blog">ウダ2Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>保存先は普段使っていなくてアプリも入れていない<a href="https://www.google.com/drive/" target="_blank" rel="noopener">GoogleDrive</a>に任せることにした。<br />
GoogleDriveをCUIで操作するのはいくつかあるのですが、シンプルにアップする事が出来、Rapberry Pi用のバイナリが用意されてる<a href="https://github.com/prasmussen/gdrive" target="_blank" rel="noopener">gdrive</a>にしました。<br />
<span id="more-2357"></span><br />
まずはソフトをダウンロードして<br />
<strong>$ curl -JLO https://docs.google.com/uc?id=0B3X9GlR6EmbnVXNLanp4ZFRRbzg&amp;export=download</strong><br />
実行権限与えて<br />
<strong>$ chmod +x gdrive-linux-rpi</strong><br />
他で使うかもしれないのでプログラムフォルダ的な場所に移動<br />
<strong># mv gdrive-linux-rpi /usr/local/bin</strong><br />
まずはファイル一覧を取得します。<br />
<strong># /usr/local/bin/gdrive-linux-rpi list</strong><br />
すると認証用のURLが出てくるのでコピペでブラウザからアクセスして手順に従い認証トークンを発行してもらって、ターミナルに戻って貼り付ける。<br />
<strong># /usr/local/bin/gdrive-linux-rpi upload /var/motion/image.jpg</strong><br />
<strong># /usr/local/bin/gdrive-linux-rpi upload &#8211;no-progress -p ＜フォルダID＞ /var/motion/image.jpg</strong><br />
今回はフォルダを作成してその中に格納していきますがGoogleDriveのフォルダ名をそのまま使えないので先ほどの「/usr/local/bin/gdrive-linux-rpi list」で格納したいフォルダIDをメモしておきます。</p>
<p><strong>$ sudo vi /etc/motion/motion.conf</strong></p>
<pre><code>daemon on
width 1920
height 1080
framerate 10
quality 90
output_pictures on
threshold 3000
noise_level 96
ffmpeg_output_movies off
on_picture_save "/var/motion_setting/send6.sh %f"
on_event_end none
on_movie_end none</code></pre>
<p><strong>$ cp /var/motion_setting/send.sh /var/motion_setting/send6.sh</strong><br />
<strong>$ sudo vi /var/motion_setting/send6.sh</strong></p>
<pre><code>#!/bin/sh
FILE=$1
DIRID=＜フォルダID＞
chown pi:pi $FILE
/usr/local/bin/gdrive-linux-rpi -c "/root/.gdrive" upload --no-progress -p "${DIRID}" "${FILE}"</code></pre>
<p>Dropbox-Uploaderのようにrootで認証しmotionでroot権限で実行したら認証データを使える訳では無く、gdriveは認証データの入ってるフォルダを「-c」オプションで指定してあげないと送れなかった。<br />
その認証用のデータは認証したユーザーのホームディレクトリの「.gdrive」に入ってます。<br />
DropbBoxの時と同様になおRaspberry Piに残ってるデータはcronで定期的に消すようにしています。<br />
<strong>$ crontab -e</strong></p>
<pre><code>0 7 * * * find /var/motion -name '*.jpg' -mtime +7 -delete</code></pre>
<p>更にGoogleDrive上の古いファイルも定期的に削除したいのでシェルスクリプトを用意します。<br />
<strong># vi gdrivecleaner.sh</strong></p>
<pre><code>#!/bin/bash
DATE=`date -d '3 days ago' '+%Y-%m-%dT%H:%M:%S+09:00'`
DIRID=＜フォルダID＞
DATA=`/usr/local/bin/gdrive-linux-rpi -c "/root/.gdrive" list -q "trashed = false and '${DIRID}' in parents and mimeType contains 'image/' and modifiedTime &gt; '${DATE}'" -m 100 |  awk '{ print $1 }' | sed '/^$/d'`

cnt=0
while read line
do
  if [ $cnt -eq 0 ]; then
    if [ $line != "Id" ]; then
      break
    fi
  else
    /usr/local/bin/gdrive-linux-rpi -c "/root/.gdrive" delete $line
  fi
  cnt=$((cnt + 1))
done &lt;&lt;END
$DATA
END</code></pre>
<p>実行権限を与えて<br />
<strong># chmod +x gdrivecleaner.sh</strong><br />
先ほどと同じくcronで定期的に実行するようにする。<br />
<strong># crontab -e</strong></p>
<pre><code>15 7 * * * /root/gdrivecleaner.sh</code></pre>The post <a href="https://uda2.com/blog/raspberry-pi-camera8/">Raspberry Piで監視カメラ8 GoogleDrive編</a> first appeared on <a href="https://uda2.com/blog">ウダ2Blog</a>.]]></content:encoded>
					
					<wfw:commentRss>https://uda2.com/blog/raspberry-pi-camera8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
