こちらはLinux系のお話になります。
Raspberry Piで撮影した写真や動画、GPSログ等を、PCと簡単に同期する手段としてNextcloudを使ってみたいと思います。
Nextcloudサーバの構築記事はこちらになります
- Nextcloudサーバ簡単構築 Fedora 28 snap版
- Docker for WindowsでNextcloudサーバ構築
- Raspberry Pi 3でNextcloudサーバ簡単構築 snapd版
- Nextcloud Boxっぽいもの構築
- MacでNextcloudサーバ簡単構築
構築したNextcloudサーバに、WindowsやMac等のPC、スマートフォンを接続して利用するかと思います。
Raspbianに次の設定を行うことで、PCやスマートフォンからRaspberry Piのファイル参照や変更、削除ができるかたちになります。
コマンドラインでNextcloudサーバと同期
- raspbianまたはLinux系のOSにて、owncloud-client-cmdをインストールします。
sudo apt-get install owncloud-client-cmd
- owncloudのsync-exclude.lstファイルを取得して置いておきます。
wget https://github.com/owncloud/client/raw/master/sync-exclude.lst
- Nextcloudサーバにて、同期用のフォルダを作成します。pi3camフォルダを作成してみました。
- 画面左下の「設定」をクリック。表示されたWebDavアドレスをコピー、控えておきます。
- raspbian側にも同期用のフォルダを作成します。
mkdir -p nextcloud/pi3cam
- 次のコマンドでフォルダ同期します。URLの部分は、確認したWebDavのアドレスにユーザ名とパスワードを入れたものになります。コマンドを実行して同期できるかどうか確認します。
owncloudcmd --exclude $HOME/sync-exclude.lst $HOME/nextcloud/<フォルダ名> https://<ユーザ名>:<パスワード>@<nextcloudサーバアドレス>/remote.php/webdav/<フォルダ名>/
うまくフォルダが同期されましたでしょうか?
基本的に6番のowncloudcmdコマンドを実行したタイミングで同期処理が行われます。
自動で行いたい場合、cronを使用したり、写真やログファイルを生成するタイミングで同期させたり・・・用途に合わせて実行するとスマートかもしれません。
cronで10分おきに自動同期する場合は、次のように設定すれば宜しいようです。
*/10 * * * * owncloudcmd -s --non-interactive --exclude $HOME/sync-exclude.lst $HOME/nextcloud/<フォルダ名> https://<ユーザ名>:<パスワード>@<サーバアドレス>/remote.php/webdav/<フォルダ名>/