※注意:この記事に記載されている方法はDropbox側で廃止になり利用できなくなっていた。
Dropbox でのシンボリックリンクの使用方法 | Dropbox ヘルプ
代わりにDropbox-UploaderでDropboxに直接ファイル転送する仕組みを採用した。
当サイトを運営するために借りたサーバの容量がパンクしそうだったので、
先日、さくらインターネットのVPS用の追加ストレージ(以後、NFS)を借りた。
とりあえずNFSによって、
サイトの運営で容量の多くを占拠する画像ファイルをNFSに移行することができた。
が!
まだ容量の多くを占拠するサイトのバックアップファイルの問題が残っていた。
当サイトのバックアップは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のサイトを開き、ログインしてみると、
指定のディレクトリにバックアップのZIPファイルが追加され、
試しにダウンロードして解凍してみると、無事にサイトのデータや画像ファイルが展開されていた。
追記
ZIPファイルに張ったシンボリックリンクはtouchでタイムスタンプを更新しなければ、
翌日以降はリンク先のファイルが更新されてもDropboxは更新したと認識できないらしい。
対策として、バックアップをとった後にtouch -hで更新する必要がある。
$ touch -h /home/*****/Dropbox/backup/site.zip