jdelaune / aws-ec2-snapshot-management
AWS EC2 快照管理器,用于维护快照
v2.0.1
2015-02-28 21:02 UTC
Requires
- php: >=5.3.0
- aws/aws-sdk-php: 2.7.*
This package is auto-updated.
Last update: 2024-09-17 21:13:38 UTC
README
简介
AWS EC2 快照管理器是一个 PHP 脚本,它修剪 EC2 快照就像备份一样。它旨在从命令行运行,但也可以根据需要由其他 PHP 脚本调用。除了清理快照外,它还可以用来创建新的快照。
清理功能将保留以下快照
- 每日:在过去七天中创建的。
- 每周:在过去一个月中每周一个。
- 每月:每月一个。
即使是一年前的快照,它也会保留至少一个。
此脚本受到了由 Erik Dasque 创建的 'EC2 Manage Snapshots' 的启发,之前由 Oren Solomianik 创建。但是,它需要 AWS PHP SDK。
此脚本在 MIT 许可证下提供。
安装
安装 EC2 快照管理的推荐方式是通过 Composer。
# Install Composer curl -sS https://getcomposer.org/installer | php
接下来,运行 Composer 命令以安装 EC2 快照管理的最新稳定版本
composer require jdelaune/aws-ec2-snapshot-management
安装后,您需要引入 Composer 的自动加载器
require 'vendor/autoload.php';
配置
EC2 快照管理器使用 AWS PHP SDK。您需要按照以下说明设置您的凭据
http://docs.aws.amazon.com/aws-sdk-php/guide/latest/credentials.html#credential-profiles
它期望一个名为 ec2snapshot
的配置文件。
示例
您需要创建一个如下所示的示例脚本
<?php // myScript.php require 'vendor/autoload.php'; use EC2SnapshotManagement\Manager; /** * Create a new EC2 Snapshot Manager * * You don't need to supply any arguments if calling from the command line. * * @param string $volume EC2 Volume Identifier (optional). * @param string $region EC2 Region Identifier (optional). * @param boolean $quiet Quiet mode, no output (optional). * @param boolean $noOperation No operation mode, nothing will get deleted (optional). * @param boolean $verbose Verbose, tells you exactly what it's doing (optional). * @param string $description Description of new snapshot if creating one (optional). */ $manager = new Manager('vol-abcdefgh', 'eu-west-1', false, true, true, 'My Data Backup'); /** * Cleans up existing old snapshots */ $manager->cleanupSnapshots(); /** * Take a new snapshot */ $manager->takeSnapshot();
或者,您可以直接从命令行调用您刚才创建的脚本,而不是传递参数给类构造函数
php myScript.php -v="vol-abcdefgh" -r="eu-west-1" -d="My Server Backup" -n -o
您可能想要创建两个脚本来独立调用每个函数!