FUSE filesystem backuped by Amazon S3
Amazon S3 でbackup
昨日の日記で最後に書いたEric Hammondさんのメールと,FuseOverAmazonのページを見ながら,使い方を検証してみました.作り方は非常に簡単.
作り方
作業手順を列挙すると以下のようになります.ちなみに,...の部分にはS3を使うときのアカウント情報が入ります.
apt-get install -y subversion build-essential libcurl4-openssl-dev libxml2-dev libfuse-dev svn checkout http://s3fs.googlecode.com/svn/trunk/s3fs s3fs make -C s3fs cp s3fs/s3fs /usr/local/bin export AWS_ACCESS_KEY_ID=... export AWS_SECRET_ACCESS_KEY=... echo "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" > /etc/passwd-s3fs chmod 600 /etc/passwd-s3fs
s3fsの起動と終了はそれぞれ以下のように行います.S3用のバケットは事前に作成しておいてください.
起動 export bucket=... mkdir -p /mnt/$bucket /usr/local/bin/s3fs $bucket /mnt/$bucket 終了 umount /mnt/$bucket
Februaryという名前のバケットを作っておいて,そこにperlをダウンロードしてみたのが以下のログです.
root@domU-12-31-38-00-41-03:~# cd /mnt/February root@domU-12-31-38-00-41-03:/mnt/February# wget http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/perl-5.10.0.tar.gz --00:31:27-- http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/perl-5.10.0.tar.gz => `perl-5.10.0.tar.gz' Resolving search.cpan.org... 84.45.68.23 Connecting to search.cpan.org|84.45.68.23|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://cpan.erlbaum.net/authors/id/R/RG/RGARCIA/perl-5.10.0.tar.gz [following] --00:31:27-- http://cpan.erlbaum.net/authors/id/R/RG/RGARCIA/perl-5.10.0.tar.gz => `perl-5.10.0.tar.gz' Resolving cpan.erlbaum.net... 72.32.180.194 Connecting to cpan.erlbaum.net|72.32.180.194|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 15,595,020 (15M) [application/x-gzip] 100%[===========================================================================>] 15,595,020 832.36K/s ETA 00:00 utime(perl-5.10.0.tar.gz): Operation not permitted 00:31:47 (826.63 KB/s) - `perl-5.10.0.tar.gz' saved [15595020/15595020] root@domU-12-31-38-00-41-03:/mnt/February# ls perl-5.10.0.tar.gz
上のlogで"utime(perl-5.10.0.tar.gz): Operation not permitted"という部分がs3fsでまだ実装されていない部分です.この後,umountしてからS3を覗いたところ,Februaryバケットの中にperl-5.10.0.tar.gzがあるのを確認できました.ファイルをダウンロードしている途中とか,umountする前にも確認すべきだったけど忘れてました.(><)