ググってみると、ruby版の経験談はたくさんあるけど、perl版がほとんどない。(なぜだろう。。。)と思いつつ、チャレンジ。
やることは多分
(1)サンプルコードをダウンロード
(2)必要なperlモジュールをインストール
(3)サンプルコードをベースに、バックアップスクリプトを作成
(4)テスト(バケットの下にディレクトリ構造を持ったバックアップができたら目的達成)
環境はMacOSXです。
(1)まずはサンプルソースをダウンロード。
AmazonWebServicesのDiscussionForumsにソースらしきファイルがあるので、とりあえずダウンロード。
s3.plとs3sync.plの2ファイルです。
(2)中身を見てみると、
〜
use Getopt::Std;
use XML::Simple;
〜
use S3::AWSAuthConnection;
〜
こんなモジュールがあればよいらしいので、一応、入ってるか見てみる。
$ perl -MGetopt::Std -e 1
$ perl -MXML::Simple -e 1
$ perl -MS3::AWSAuthConnection -e 1
Can't locate S3/AWSAuthConnection.pm in @INC (@INC contains: /Library/Perl/Updates/5.8.8/darwin-thread-multi-2level /Library/Perl/Updates/5.8.8 /System/Library/Perl/5.8.8/darwin-thread-multi-2level /System/Library/Perl/5.8.8 /Library/Perl/5.8.8/darwin-thread-multi-2level /Library/Perl/5.8.8 /Library/Perl /Network/Library/Perl/5.8.8/darwin-thread-multi-2level /Network/Library/Perl/5.8.8 /Network/Library/Perl /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.8 /Library/Perl/5.8.6 /Library/Perl/5.8.1 .).
BEGIN failed--compilation aborted.
足らないのは「S3::AWSAuthConnection」だけのようなので、
CPANからインストールしようしたところ、
cpan> install S3::AWSAuthConnection
CPAN: Storable loaded ok
Going to read /var/root/.cpan/Metadata
Database was generated on Sat, 30 May 2009 22:27:00 GMT
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.dti.ad.jp/pub/lang/CPAN/authors/01mailrc.txt.gz
Going to read /var/root/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok
Fetching with LWP:
ftp://ftp.dti.ad.jp/pub/lang/CPAN/modules/02packages.details.txt.gz
Going to read /var/root/.cpan/sources/modules/02packages.details.txt.gz
Database was generated on Sun, 28 Jun 2009 04:27:05 GMT
There's a new CPAN.pm version (v1.9402) available!
[Current version is v1.7602]
You might want to try
install Bundle::CPAN
reload cpan
without quitting the current session. It should be a seamless upgrade
while we are running...
Fetching with LWP:
ftp://ftp.dti.ad.jp/pub/lang/CPAN/modules/03modlist.data.gz
Going to read /var/root/.cpan/sources/modules/03modlist.data.gz
Going to write /var/root/.cpan/Metadata
Warning: Cannot install S3::AWSAuthConnection, don't know what it is.
Try the command
i /S3::AWSAuthConnection/
to find objects with matching identifiers.
CPANにないのかな?と、S3::AWSAuthConnection installでググってみるとS3 Backup - Missing Perl module S3::AWSAuthConnectに、Muck::FS::S3::AWSAuthConnectionという名前のモジュールだという記述あり。
さらにそんな記載がないか、AWSのDisscussionForumsを改めて読んでみると、なんと、perlは大変だからrubyで書き直してるとの記述が。。。
バグ修正や機能追加はもうないようなので、あきらめ、です。