Raspberry Pi Raspbian で WebDAVサーバーをマウントする
まぁ、GUIだとさほど面倒でもないのですけど、コンソールでやる場合はDAVクライアントがないと接続できないんですよね。
ほとんど、Box.netかDriveeをバックアップ先に使うためにしかやらない気もします
今回はdavfs2パッケージをインストールして、定期的にrsyncで同期バックアップをしようかと思います
とりあえずインストール
$ sudo apt-get install davfs2
設定を少し変更。
$ sudo vi /etc/davfs2/davfs2.conf
以下の2か所を設定を直します
use_locks 0 if_match_bug 1
マウントテスト
$ sudo mount -t davfs -o rw https://ドライビーID.drivee.jp/ /mnt/drivee $ sudo mount -t davfs -o rw https://www.box.com/dav /mnt/box
このままだと毎回IDやパスワードの入力が必要ですが、認証情報を /etc/davfs2/secretsもしくは~/.davfs2/secrets に書いておくと省略できます(平文で保存するので注意が必要) 今回はcrontabで回すので、システム側に書きます
$ sudo vi /etc/davfs2/secrets
ちなみに、Boxでは日本語ファイル名を使う場合はUTF-8にしてあげる必要があります。 次に今回は、定時にバックアップを取る予定なので、スクリプトも書きます ※どうもつなぎっぱなしにすると、定期的に切断されてバックアップに失敗することがあったので、都度接続にしています
$ sudo vi /opt/drivee_sync.sh #!/bin/sh #同期元 LOCALSYNC=home #同期先 REMOTESYNC=drivee #Driveeのユーザ DRIVEEUSER=test mkdir -p /${LOCALSYNC} mkdir -p /${DRIVEEUSER} #すでにマウントしていないかチェック CHKMOUNT=`df -h|grep "${REMOTESYNC}"|wc -l` if [ ${CHKMOUNT} -lt 1 ]; then mount -t davfs -o rw "https://${DRIVEEUSER}.drivee.jp/" /${REMOTESYNC} else #マウントしている場合はリマウントを実施 umount /${REMOTESYNC} sleep 5 mount -t davfs -o rw "https://${DRIVEEUSER}.drivee.jp/" /${REMOTESYNC} sleep 5 fi echo "START BACKUP" rsync -auvz --delete /${LOCALSYNC}/ /${REMOTESYNC} echo "END BACKUP" sleep 5 umount /${REMOTESYNC} sleep 10
で、これをcrontabへ毎日AM03:10にhomeをバックアップ
10 3 * * * /bin/sh /opt/drivee_sync.sh
これで緊急時のバックアップを外部に逃がすことができるようになります。 ただ、オンラインストレージの容量が限られているのであぷれないように注意が必要ですね