jbelien/ovh-cloud-snapshot

OVH云自动快照(通过OVH API)

v1.3.0 2019-01-21 11:36 UTC

README

Latest Stable Version Total Downloads Monthly Downloads

OVH云自动快照

要求

安装

composer create-project jbelien/ovh-cloud-snapshot

配置

第一步

点击此处创建凭据 !

  • POST: /cloud/project/*/instance/*/snapshot
  • POST: /cloud/project/*/volume/*/snapshot
  • GET: /cloud/project/*/snapshot
  • GET: /cloud/project/*/volume/snapshot
  • DELETE: /cloud/project/*/snapshot/*
  • DELETE: /cloud/project/*/volume/snapshot/*

第二步

在根目录下创建包含您的凭据和实例/卷列表的 snapshot.yml

---
applicationKey: <ovh_application_key>
applicationSecret: <ovh_application_secret>
consumerKey: <ovh_consumer_key>

duration: <date-interval>

projects:
  - id: "<project-1-id>"
    instances:
      - &myinstance
          id: "<instance-id>"
          name: "My Instance"
    volumes:
      - &myvolume
        id: "<volume-id>"
        name: "My Volume"
    protected:
      instances:
        - "<instance-id>"
      volumes:
  - id: "<project-2-id>"
    instances:
      ...
    volumes:
      ...
    protected:
      instances:
      volumes:
  ...

配置 duration

使用 duration 选项确定在多少天后/周/月/... 删除快照。
此选项使用PHP DateInterval 格式:https://php.ac.cn/manual/en/dateinterval.construct.php

格式以字母P开头,表示“周期”。每个持续时间周期由一个整数值和一个点表示。如果持续时间包含时间元素,则该部分在指定之前由字母T表示。

以下是一些简单的示例。两天是 P2D。两秒是 PT2S。六年和五分钟是 P6YT5M

您可以通过将id设置为 protected.instancesprotected.volumes 来防止快照被删除。

运行

php snapshot.php

模拟运行模式(模拟查询)

php snapshot.php --dry-run

Crontab

您可以通过创建一个crontab调用此工具来自动化快照创建。