ジャンカーな日々

こころのすさんだ管理人[る~]がAndroid/Windows/Linux/OSX/iOS/パーツなどの話題やお買い得商品を紹介していきます

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

これで緊急時のバックアップを外部に逃がすことができるようになります。 ただ、オンラインストレージの容量が限られているのであぷれないように注意が必要ですね

ジャンカーな日々はamazon.co.jpを宣伝しリンクすることによって サイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。ちょっとだけ紹介ついでにお小遣いをいただいております(_ _)