2012-01-18 [長年日記]

Androidに写真を同期する(rsync編)(その2)

この前、mac->ubuntuでのrsyncによる同期について書いたけど、その続き。mac->Androidでもほぼ同様の操作で同じことができるけど、macでsshdを起動しておく必要がある。

基本的にはrsync backup for Androidを起動してsshなどのバイナリのダウンロード、鍵の生成を行い、プロファイル作成して項目を埋めていくだけ。気をつけるポイントは、ソース(今回はリモート側)のパスの指定で、最後のスラッシュの有無で挙動が変わること。同じディレクトリレベルを指定し、スラッシュを付ける(リモートを~/Pictures/、ローカルを/sdcard/Pictures/)という方法が無難だと思う。また、Androidのアプリとファイルのパーミッションの関係で、リモートからローカルに引っ張ってきたファイルのタイムスタンプとパーミッションを変更できない*1ので、Additional rsync optionsを以下のようにする。--deleteはお好みで、最初は付けないほうが無難。

-vr --size-only --delete

最後に「rsync in reverse direction(from server to this device)」のチェックボックスをONにして保存。プロファイルを選択すると同期がはじまる*2。最初はファイルサイズ分だけの時間がかかるけど、次回以降は差分だけなのですぐに終わる。

これでファイルの同期はできるのだけど、写真や動画、音楽等のメディア系のファイルが追加された場合、ギャラリーなどのアプリに認識させるためにはメディアスキャンを行う必要がある。それを行うだけのアプリもあるし、端末の再起動でもOK。ということでひと通り同期はできるようになったけど、もうちょっと手数を減らしたいなあということで続くかも。

*1 アプリのバグのような気もするけど

*2 一番最初はプロファイルを長押ししてDRY RUNを選択し、想定通りのファイルが送信されるのを確認したほうがいい