escuccim/s3backup

Laravel 命令行工具,用于将文件备份到 Amazon S3

v0.2.0-beta.1 2017-02-18 12:15 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:29:03 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

这是一个 Laravel 扩展包,它创建了一个命令行工具,用于将文件备份到 Amazon S3。

安装

通过 Composer -

$ composer require escuccim/s3backup

在 config/app.php 的 'providers' 数组中注册类

Escuccim\S3Backup\S3BackupServiceProvider::class,

您必须在 .env 文件中指定 Amazon S3 存储桶的凭证,如下所示

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
AWS_BUCKET=

用法

导出并上传数据库

php artisan backup:db {--path=} {--db=} {--user=} {--dest=} {--keep} {--p} {--pass=}

这将把 .env 文件中指定的数据库导出到 /database/ 目录下,然后将导出的文件上传到 S3,并在本地删除。

选项

  • path: 默认情况下,数据库将导出到您的数据库目录,如果要将导出文件放在子目录中,请在此处指定路径。
  • db: 要导出的数据库名称,如果省略此参数,则将使用 .env 文件中的数据库
  • user: 用于导出的用户名,如果省略此参数,则将使用 .env 文件中的用户名
  • dest: 在 s3 上上传文件的密钥
  • keep: 如果您想保留本地导出文件,请使用此标志,否则上传后将删除本地文件
  • p: 如果您想使用 .env 文件中的密码生成导出文件,请使用此标志。如果不使用此标志,则不会指定密码。
  • pass: 如果您想使用与 .env 文件中不同的密码,请在此处指定。

所有这些参数都是可选的,如果不指定,则将使用 .env 文件中的默认值。

请注意,--p 用于指定是否要使用密码,如果您没有本地账户的密码或凭证存储在 .my.cnf 文件中,则可以省略此参数。

--pass= 用于指定密码,如果您想使用它,则必须同时使用 --p 标志。如果您使用 --p 而未指定密码,则将从 .env 文件中获取密码。

对于单个文件

php artisan backup:file [file] [--dest=location to upload file to]

{file} 是相对于项目根目录的文件路径。{dest} 是上传文件的路径。文件将保持相同的名称。

文件或目标路径上均不能使用尾部或前导 "/"。

对于目录

php artisan backup:dir [path] [--dest=location to upload file to] [--ext=file extension]

其中 path 是相对于基本路径的目录路径,dest 是上传文件的基础密钥。文件的最终目标将用 dest 参数替换 path 参数。

如果您指定了文件扩展名,则只上传匹配该扩展名的文件。

致谢

许可协议

MIT 许可证 (MIT)。