Bitcasa を使っていて「おや?」と思ったこと の続きというか対策というか。

あれ?コピーしたと思ったんだけどなあ

Finder でコピーして <中略> なんかファイル数が少ない事があったようななかったような。。。

という事があって、アップし損ねたファイルをアップロードしようとした時の話。

ファイルを一つずつ目視確認してくのツラいので、Finder で全ファイル選択して Bitcasa 側へコピー。その後、既に存在してるファイルはスキップするか訪ねてくるので「スキップ」、これで勝つる!と思ったら、そのチェックをすり抜けてまたアップロードを始めてしまう Bitcasa さん。。。例えば hoge.dat ってファイルがアップ済で、手元の hoge.data をコピーすると既に存在してる?とか訪ねてこずにいきなり hoge2.dat とかできちゃいます。。。

これは厳しい。

(Finder で Bitcasa Infinite Drive の中をよく観察していると、ファイル名がうっすらグレイで表示されているものがあります(ローカルにキャッシュされてないファイルなのかな?)。それらは更新日付が 1984年1月24日火曜日 17:00 になってて、これらのファイルの一致確認で「一致せず」と判断されてるのではないかと思われます。)

Terminal でも使えればスクリプトでもなんでも使えるのですが、

には、

Bitcasaはコマンドプロンプトからはディレクトリが見えない(移動、作成、削除はできる)

と書いてあったのでムリかなーと思いつつ、やってみました。

cd /Volumes/Bitcasa\ Infinite\ Drive
ls

すると、、、見える!私にも見えるぞ!

普通にディレクトリもファイルも確認できました。cp mv mkdir などのコマンドも普通に使えました。(Windows だと NG なのかな?)

これならイケるで!ということでこんなコマンドを用意。

cp -n -R . /Volumes/Bitcasa\ Infinite\ Drive/data

カレントディレクトリ(含むサブディレクトリ)のファイルを Bitcasa Infinite Drive/data ディレクトリに 存在しないファイルだけ コピーします。

ログを取りたい場合は、

cp -n -R -v . /Volumes/Bitcasa\ Infinite\ Drive/data > log.txt

でおk。
注意点は -n は更新されてるかはチェックしてくれない事(というか、逆にタイムスタンプを判別したら Finder と同じ現象になると思う)

コマンドが使えるのは嬉しいですね。
Bitcasa のミラーリングバックアップはネットワークドライブに対応してませんが、定期的に cp するコマンドを走らせれば実用レベルだと思います。

参考

Backup
Bitcasa

published

Ads

Read more!

amay077

Microsoft MVP(Xamarin). フルリモートワーカー. Geospatial Mobile app developer. Love C#.

amay077 amay077