こちらのサイトを参考に作成しました。
一部補足が必要と思われる箇所があったので実際に行った手順を記載します。
概要:PHPのブログラムをサーバに配置し、crontabで実行します
1. Amazon EC2 インスタンスにタグ付けする
下記の情報でセットします。
Key=Backup-Generation
Value=管理したい世代数
2. AWS SDKを配置
下記のページから最新のソースをダウンロードします。
AWS SDK for PHP 1.5.15
zipファイルを解凍するとsdk-latest というフォルダがあります。その中にsdk-x.x.x(xはバージョン)というフォルダがあるので、defaultという名前に変更します。
3. AWS SDKを配置します
SSHでサーバに入り、/opt/aws/php/defaultフォルダを作り、2で入手したAWS SDKを配置します。
4. 実行ファイルを作ります。
こちらのサイト紹介しているphpファイルをNotePadにコピーし、必要箇所を変更します。
http://blog.suz-lab.com/2012/05/ec2ami.html
修正が必要な箇所
Line:7 "key" => "ACCESS KEY",
Line:8 "secret" => "SECRET KEY"
Line:10 $ec2->set_region(AmazonEC2::REGION_APAC_NE1);
Line7,8のACCESS KEY,SECRET KEYはAWS管理画面のSecurity Credentialsから取得できます。2014/7現在、Security Credentialsの再発行はできないので、わからない方はキーペアを新しく作成してください。
Line10のREGION_XXXはインスタンスを作成した場所を入力する必要があります。下記のページにそれぞれのリージョンの名前が記載されています。(ex. アメリカ東海岸-> REGION_US_E1)
AmazonEC2 set_region
5. PHPスクリプトを配置
/backupフォルダを作成し、4で作成したPHPスクリプトをサーバに配置し、ファイル名はaws-backup.phpとします。(必要であればファイル名を変更してもかまいません)
6. 試し実行
ここまででバックアップスクリプトを実行する準備ができたので、テスト実行をします。
/usr/bin/php /backup/aws-backup.php
7. crontabを設定します
下記コマンドでcrontabを開きます。
crontab -e
毎日11PMにバックアップをとる場合は下記のように記載します。
0 23 * * * /usr/bin/php /backup/aws-backup.php