escuccim / s3backup
Laravel 命令行工具,用于将文件备份到 Amazon S3
v0.2.0-beta.1
2017-02-18 12:15 UTC
Requires
- php: ~5.6|~7.0
- aws/aws-sdk-php-laravel: ~3.0
- illuminate/support: ~5.3
This package is not auto-updated.
Last update: 2024-09-29 02:29:03 UTC
README
这是一个 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)。