※注意:この記事に記載されている方法はDropbox側で廃止になり利用できなくなっていた。

Dropbox でのシンボリックリンクの使用方法 | Dropbox ヘルプ

代わりにDropbox-UploaderでDropboxに直接ファイル転送する仕組みを採用した。

andreafabrizi/Dropbox-Uploader: Dropbox Uploader is a BASH script which can be used to upload, download, list or delete files from Dropbox, an online file sharing, synchronization and backup service.


当サイトを運営するために借りたサーバの容量がパンクしそうだったので、先日、さくらインターネットのVPS用の追加ストレージ(以後、NFS)を借りた。

さくらのVPSで追加ストレージ(NFS)を利用してみた


とりあえずNFSによって、サイトの運営で容量の多くを占拠する画像ファイルをNFSに移行することができた。


が!


まだ容量の多くを占拠するサイトのバックアップファイルの問題が残っていた。




当サイトのバックアップはDropboxを活用している。

SOY CMSのサイトのバックアップをDropboxで行う


OSがUbuntuのVPSサーバでDropboxをインストールすると、/home/******/Dropboxが標準のディレクトリになり、このディレクトリはNFSの方ではない。


同期用のディレクトリを標準の設定ではなく、NFS上のディレクトリに変更できないか?

CLI版のDropboxのマニュアルを探したけれども見つからず。


どうしようかとヘルプを読んでみたら、最後の方にシンボリックリンクがいけるという記述を発見したので、NFS側にバックアップファイルを配置して、/home/*****/Dropbox以下にシンボリックリンクを張ってみることにした。




環境

Dropboxのディレクトリ:/home/*****/Dropbox/backup/

NFSのバックアップ用のディレクトリ:/var/www/html/site/storage/backup/

で話を進める。


サイトのバックアップのZIPファイルのパスは

/var/www/html/site/storage/backup/site.zip

になる。


これをDropboxディレクトリにシンボリックリンクのソフトリンクとしてつなぐ

$ cd /home/*****/Dropbox/backup
$ ln -s /var/www/html/site/storage/backup/site.zip

上記のコマンドを実行した後、Dropboxのサイトを開き、ログインしてみると、


dropbox_nfs


指定のディレクトリにバックアップのZIPファイルが追加され、試しにダウンロードして解凍してみると、無事にサイトのデータや画像ファイルが展開されていた。


追記

ZIPファイルに張ったシンボリックリンクはtouchでタイムスタンプを更新しなければ、翌日以降はリンク先のファイルが更新されてもDropboxは更新したと認識できないらしい。

対策として、バックアップをとった後にtouch -hで更新する必要がある。

$ touch -h /home/*****/Dropbox/backup/site.zip