c0d3man52

Webサイト制作

UbuntuサーバーでDropboxでファイルを同期する

UbuntuサーバーでDropboxでファイルを同期する方法をまとめました。サーバーにあるファイルの自動バックアップができて、非常に便利です。

公開日: 2020.6.2

事前準備

Ubuntu Server 18.04では、Pythonのモジュールが足りないというエラーが出たので、事前に下記のモジュールをインストールしておきます。

sudo apt install libc6 libglapi-mesa libxdamage1 libxfixes3 libxcb-glx0 libxcb-dri2-0 libxcb-dri3-0 libxcb-present0 libxcb-sync1 libxshmfence1 libxxf86vm1

Dropboxクライアントのインストール

まずはDropboxクライアントをインストールします。

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

~/.dropbox-dist/dropboxd

下記のようなダイアログが出るので、URLをブラウザにコピペしてサーバーとアカウントを連動させます。

This computer isn't linked to any Dropbox account...
Please visit https://www.dropbox.com/cli_link_nonce?nonce=xxxxxxxxx to link this device.
This computer isn't linked to any Dropbox account...

ログインして「リンク」ボタンを押せばOKです。少し待つとダイアログが自動で変わります。

This computer is now linked to Dropbox. Welcome XXXXXX

「ctrl c」で一旦dropboxdを止めます。

これで、ユーザーホームディレクトリにDropboxディレクトリが作成されて、同期が進んでいるはずです。

管理ツールのインストールと設定

先ほどインストールしたdropboxdは同期するだけのデーモンなので、管理ツールを入れて設定をします。

wget https://www.dropbox.com/download?dl=packages/dropbox.py -O dropbox.py

chmod +x dropbox.py

mv dropbox.py /usr/local/bin/

これでdropbox.pyコマンドが呼び出せます。

使えるコマンドは下記の通り。

autostart    automatically start Dropbox at login
exclude      ignores/excludes a directory from syncing
filestatus   get current sync status of one or more files
help         provide help
lansync      enables or disables LAN sync
ls           list directory contents with current sync status
proxy        set proxy settings for Dropbox
puburl       get public url of a file in your Dropbox's public folder
running      return whether Dropbox is running
sharelink    get a shared link for a file in your Dropbox
start        start dropboxd
status       get current status of the dropboxd
stop         stop dropboxd
throttle     set bandwidth limits for Dropbox
update       download latest version of Dropbox
version      print version information for Dropbox

設定する

まずは起動します。

dropbox.py start

自動起動を追加します

dropbox.py autostart y

サーバーの場合は、LANのステータスチェックが負荷になるそうなので、外します。

ropbox.py lansync n

あとは、プログラムなどで~/Dropboxディレクトリにファイルを放り込めば、自動でDropboxと同期してくれます。

自分のPCなど使っているDropboxアカウントを利用する場合は、サーバー用にフォルダを設定したほうが良いでしょう。