コマンドラインでNextcloudサーバと同期するには

こちらはLinux系のお話になります。

Raspberry Piで撮影した写真や動画、GPSログ等を、PCと簡単に同期する手段としてNextcloudを使ってみたいと思います。

Nextcloudサーバの構築記事はこちらになります

構築したNextcloudサーバに、WindowsやMac等のPC、スマートフォンを接続して利用するかと思います。

Raspbianに次の設定を行うことで、PCやスマートフォンからRaspberry Piのファイル参照や変更、削除ができるかたちになります。


コマンドラインでNextcloudサーバと同期

  1. raspbianまたはLinux系のOSにて、owncloud-client-cmdをインストールします。
    sudo apt-get install owncloud-client-cmd

  2. owncloudのsync-exclude.lstファイルを取得して置いておきます。
    wget https://github.com/owncloud/client/raw/master/sync-exclude.lst

  3. Nextcloudサーバにて、同期用のフォルダを作成します。pi3camフォルダを作成してみました。
  4. 画面左下の「設定」をクリック。表示されたWebDavアドレスをコピー、控えておきます。
  5. raspbian側にも同期用のフォルダを作成します。
    mkdir -p nextcloud/pi3cam
  6. 次のコマンドでフォルダ同期します。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/<フォルダ名>/

スポンサーリンク