質問する
他のユーザーのディスカッションで回答が見つかる場合があります。回答が見つからない場合は、新しく質問してください。
■状況
最近 Basic から Plus にプランを変更して、現在使用率が 1TB の14%程度(150GB程度?)になっています。
■希望
CentOS サーバマシン(X)のファイルバックアップにもDropbox を活用したいと思い、下記のページなどを見て方法を調べています。
http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-centos-gui-required
Dropbox に既にあるファイルをサーバX 上に同期する必要はなく、サーバ X 上のファイルを Dropbox にバックアップしたり、Dropbox 経由で作業用のパソコンと同期したりしたいというのが目的です。このため、サーバXを新たにDropboxのクライアントにして選択型同期を設定したいと思っています。
■質問
所が現在、サーバXの空き容量は64GBしかありません。
ヘルプドキュメントには、選択型同期でディレクトリを除外する前に一旦同期を完了する事が必要、という風に書いてあるのですが、サーバXには既にあるファイルを同期させるだけの容量がありません。
この状態で、サーバXに選択型同期を設定する方法はありますか?
同期が始まり、ファイルダウンロードが始まったあたりで同期を停止してしまっても大丈夫でしょうか?(ドキュメントをあまり読んでいなかったので、Windows や Mac クライアントでは、よくそういう事をしていたのですが...。)
自分でやってみたので情報共有します。結論から言うと、同期開始後ディレクトリが作成されると、中のファイルの同期が完了しなくても除外設定ができました。
【CentOSへのDropbox CLI設定と同期除外作業の概要】
■dropbox デーモンをダウンロード
% cd ~
% wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
※ .dropbox-dist/ ができる。
% ls -al .dropbox-dist/
合計 20
drwxr-xr-x 3 username username 4096 11月 13 19:12 2017 ./
drwxrwxr-x 3 username username 4096 11月 26 15:14 2017 ../
-rw-r--r-- 1 username username 7 11月 13 19:12 2017 VERSION
drwxr-xr-x 6 username username 4096 11月 13 19:12 2017 dropbox-lnx.x86_64-39.4.49/
-rwxr-xr-x 1 username username 100 11月 13 19:12 2017 dropboxd*
※ .dropbox-dist/ は、後でダウンロードするpython スクリプトと組み合わせて使う場合、ホームディレクトリに置く事が想定されている。
■初回実行
% ./.dropbox-dist/dropboxd
dropbox: locating interpreter
dropbox: logging to /tmp/dropbox-antifreeze-yipXP6
dropbox: initializing
dropbox: running python 2.7.11
dropbox: setting program path '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/dropbox'
dropbox: setting home path '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49'
dropbox: setting python path '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49:/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/python-packages-27.zip'
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/cryptography.hazmat.bindings._constant_time.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/cryptography.hazmat.bindings._openssl.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/cryptography.hazmat.bindings._padding.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/psutil._psutil_linux.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/psutil._psutil_posix.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/linuxffi.pthread._linuxffi_pthread.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/tornado.speedups.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/cpuid.compiled._cpuid.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/linuxffi.resolv.compiled._linuxffi_resolv.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/linuxffi.sys.compiled._linuxffi_sys.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/posixffi.libc._posixffi_libc.so'
dropbox: load fq extension '/home/username/.dropbox-dist/dropbox-lnx.x86_64-39.4.49/librsyncffi.compiled._librsyncffi.so'
このコンピュータは Dropbox アカウントにリンクされていません...
このデバイスをリンクするには、https://www.dropbox.com/cli_link_nonce?nonce=xxxxx にアクセスしてください。
サーバにアクセスしているリモートコンピュータ(サーバとは物理的に別の場所にある)からアクセスすると、コマンドライン上に以下が表示される。
このコンピュータは Dropbox にリンクされました。ようこそ、John Doe さん。
Ctrl+C でデーモンを一旦停止。
■Dropbox ディレクトリが作られた
% ls -al ~/Dropbox/
合計 16
drwx------ 3 username username 4096 11月 26 15:17 2017 ./
drwx------ 24 username username 4096 11月 26 15:17 2017 ../
-rwxrwxr-x 1 username username 35 11月 26 15:17 2017 .dropbox*
drwxrwxr-x 3 username username 4096 11月 26 15:17 2017 .dropbox.cache/
■phython スクリプトをダウンロード
% mkdir ~/bin
% wget -O ~/bin/dropbox.py "https://www.dropbox.com/download?dl=packages/dropbox.py" && chmod +x ~/bin/dropbox.py
■実行と同期除外
○デーモンをスタートする
% ~/bin/dropbox.py start
Starting Dropbox...dropbox: locating interpreter
dropbox: logging to /tmp/dropbox-antifreeze-26ICdR
dropbox: initializing
dropbox: running python 2.7.11
:
Done!
■「LAN同期」を止めておく(LAN内ブロードキャストを停止。ブロードキャストで何をしているのかは不明。止めると同期タイミングが遅くなるのだろうか?)
% ~/bin/dropbox.py lansync n
※Dropbox を操作するコマンドは、デーモンが動いていないと動作しない。
■同期が始まっているので、ディレクトリが落ちてきたものから順に、除外設定をしてしまう。
% ~/bin/dropbox.py status
同期中(残り 1,706 件のファイル)
1,706 件のファイルをダウンロード中...
% ls
directory_a/ directory_b/ file_c.txt
今ダウンロードされてきているものを除外
% ~/bin/dropbox.py exclude add *
Excluded:
directory_a
directory_b
file_c.txt
除外設定した直後の表示
% ~/bin/dropbox.py status
同期中...
既にDropboxサーバに大量のファイルがある場合、一気にディレクトリがつくられるわけではないので、5-10分間隔で状況を確かめ、他のディレクトリも落ちてきたら除外。
ディレクトリが作成され、ファイルがダウンロードされている間は以下のような表示になる。
% ~/bin/dropbox.py status
同期中(残り 22,996 件のファイル)
22,996 件のファイルをダウンロード中...
ディレクトリが無く、最新の状態になるまで同期除外を続ける。
全ての除外が終了すると、ステータスが最新の状態になる。
% ~/bin/dropbox.py status
最新の状態
○メモ
※同期中でも除外設定ができる。
※除外された親ディレクトリから子ディレクトリだけ復帰したい場合、除外設定にディレクトリ(/)を含めても効かない模様。コマンド実行上エラーは表示されず、exclude list コマンドで一覧されるが、実際の同期は行われない。
ie. 例えば以下の様に設定しても同期されない。
~/bin/dropbox.py exclude add directory_a <--親ディレクトリを除外した
mkdir -p directory_a/subdir_x <-- 除外した親ディレクトリは存在しないので、手動で作ってみる。
~/bin/dropbox.py exclude remove directory_a/subdir_x <--子ディレクトリを除外から復活した(つもり)
touch directory_a/subdir_x/file.txt
subdir_x/ も subdir_x/file.txt も同期されない。
設定解消のために、ローカルで作成した directory_a/ を削除した所、サーバの directory_a/ は削除されなかった。
つまり...親ディレクトリが存在していない場合に、子ディレクトリの除外(復帰)設定はできない。除外された親ディレクトリの下のディレクトリを同期に含める事は、Windows、Mac のGUIクライアントではできるが、CLIでは、親ディレクトリが除外されている場合、その子ディレクトリの除外からの復帰を設定する事はできない(ようだ)。
■サーバからのバックアップのためのファイル設定(シンボリックリンクで ~/Dropbox 配下に集める)
mkdir ~/Dropbox/server-backup (他のクライアントからはこのディレクトリを除外)
ln -s /some/where/in/the/server ~/Dropbox/server-backup/dirname
@mi3さん、こんにちは。コミュニティに投稿いただき、ありがとうございます。
問題が解決したとのことで、たいへん嬉しく思います。
他にご質問がありましたらお知らせください。
. さん!
さらにサポートが必要な場合は, Dropbox のサポート チームにご連絡ください (。通常、24 時間以内に対応いたします。または、 Twitter か Facebook.
利用可能なサポートの詳細については、こちらの記事 をご覧ください。
問題の解決策が見つかったら、この投稿に「いいね」をして、投稿者に感謝の気持ちを表しましょう!