cargomedia/s3export_backup

此包已被弃用且不再维护。未建议替代包。
关于此包最新版本(0.3.0)的许可证信息不可用。

0.3.0 2016-11-18 16:34 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:31:33 UTC


README

该项目已不再维护。如果您想接管,请联系我们 tech@cargomedia.ch

s3export_backup

s3export_backup 是 AWS 导出服务的命令行界面。

安装和配置

建议使用 librarian puppet 安装 s3export_backup。模块可以在 https://github.com/cargomedia/puppet-packages/tree/master/modules/s3export_backup 找到。

沙盒

启动提供的 Vagrantfile 将启动一个包含所有依赖项的 Debian 虚拟机。应用程序仍然需要在配置文件 ./resources/config/local.php 中进行调整。要使用外部 USB 存储设备,请参阅 https://www.virtualbox.org/manual/ch03.html#settings-usb

使用

通过 puppet 安装时,应有一个全局二进制文件 s3export(否则在项目中查找 ./bin/s3export)。

Usage:
 [options] <command> [arguments]

Options:
 --quiet
 --quiet-warnings
 --non-interactive
 --forks=<value>

Commands:
 s3export cancel-job <job-id>
 s3export create-job <manifest-path> <device-path> [--skip-format] [--dry-run]
 s3export get-shipping-label <manifest-path> <job-id>
 s3export get-status <job-id>
 s3export list-jobs
 s3export verify-backup <device-path> [--target-directory=<value>]

创建备份任务

$ s3export create-job ./manifest /dev/sdb1 --dry-run

您需要提供一个 manifest 文件,该文件必须根据 此参考 编译。请参考提供的 示例 manifest 文件 并根据您的需求修改它。请注意,目前仅支持 ext4

美国以外的客户

在跨过海关发送驱动器时,您需要在 manifest 文件中添加一个 customs: 部分。请参阅我们的示例文件和 此参考 了解如何操作。

准备运输

$ s3export get-shipping-label ./manifest JOBID

一旦成功执行,将生成一个 PDF 文件,并将其发布到 manifest 中配置为 logbucket 的 s3 桶中。请打印两次,将其中一份粘贴在包裹上,将另一份交给收集货物的司机。美国以外的客户(在美国以外)需要在运输中附上三份形式发票的副本。这有助于海关判断包裹内容的值和类型。此外,打印、填写并包含 此表格 到运输中。

备份验证

备份验证需要通过亚马逊将物理驱动器发送回来,并正确配置相应的 S3 文件系统(请参阅配置部分)。

$ s3export verify-backup /dev/sdb1 mysupersecurepassword --target-directory=/s3-export-bucket/

--target-directory 如果在 manifest 中提供了 targetDirectory:,则是必填项。否则,验证无法在外部磁盘上找到备份的根目录。

维护者应手动查看验证命令的输出并进行分析。工具会扫描备份驱动器上的100个随机文件。每个文件都会通过两种检查与远程S3文件系统进行验证

  • 检查相应的文件是否存在于远程文件系统中
    • 这不是一个关键问题,因为文件可能已经在备份驱动器到达之前从S3文件系统中被删除。
  • 比较本地(备份)和远程(源)文件的哈希值
    • 应认真对待的失败:文件内容不同,这很可能是备份错误

如上所述,磁盘上的100个随机文件将与S3上的对应文件进行比较。显然,您需要互联网访问才能完成此操作,并且应意识到,尽管只传输文件的元数据,但您将根据传输的数据量付费。