jdelaune/aws-ec2-snapshot-management

AWS EC2 快照管理器,用于维护快照

v2.0.1 2015-02-28 21:02 UTC

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

您可能想要创建两个脚本来独立调用每个函数!

命令行参数