mccool / database-backup
1.0.2
2014-11-03 11:46 UTC
Requires
- php: >=5.3.0
- aws/aws-sdk-php: ~2.4
- symfony/process: ~2.1
Requires (Dev)
- illuminate/console: ~4.1
- illuminate/container: ~4.1
- illuminate/support: ~4.1
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2022-02-01 12:27:24 UTC
README
此包已被弃用。此 备份管理器 已完全取代它。
数据库备份
一个框架无关的数据库备份包。
驱动程序: 目前该包支持 MySQL、gzip 和 Amazon S3。然而,它是模块化的,可以扩展以支持更多。
框架: 此包不需要框架,但提供了一个 Laravel 服务提供者和 Artisan 命令以方便使用。
注意:请注意,此包使用 mysqldump
进行 MySQL 备份。
示例
Laravel 用户可以运行以下命令来备份数据库、压缩它、上传到 s3 并删除本地备份文件
php artisan db:backup --s3-bucket=whatever --s3-path=/this/is/optional/ --cleanup --gzip
非 Laravel 用户可以参考下面的使用部分。
要求
- 5.4(愿意接受降低到 5.3 的拉取请求)
安装
Laravel
-
添加到 composer.json
"mccool/database-backup": "1.0.1"
-
安装依赖项
composer update
-
安装配置文件
php artisan config:publish mccool/database-backup
-
将服务提供者添加到 config/app.php
'McCool\DatabaseBackup\ServiceProviders\LaravelServiceProvider',
-
将密钥/秘密添加到
app/config/packages/mccool/database-backup/aws.php
中的配置文件
原生 PHP
-
添加到 composer.json
"mccool/database-backup": "dev-master"
-
安装依赖项
composer update
-
确保您的应用程序需要 composer 自动加载器
require '../vendor/autoload.php';
使用
Laravel
将数据库导出到 app/storage/dumps/databasename_timestamp.sql
php artisan db:backup
将数据库存储到 backups/databasename_timestamp.sql
php artisan db:backup --local-path=backups
压缩数据库。
php artisan db:backup --gzip
选择除默认数据库之外的数据库进行导出(名称在 Laravel 的 config/database.php 中配置)。
php artisan db:backup --database=otherdatabaseconnection
选择除默认文件名之外的特定文件名(默认为 'Y-m-d_H-i-s')。注意,不要包含 .sql 文件扩展名,我们将为您完成这项工作。
php artisan db:backup --filename=my_project_backup
将备份上传到 S3
php artisan db:backup --s3-bucket=whatever --s3-path=/this/is/optional/
完成时清理文件
php artisan db:backup --s3-bucket=whatever --s3-path=/this/is/optional/ --cleanup
原生 PHP
<?php require '../vendor/autoload.php'; // dump the database to backup/test.sql $shellProcessor = new McCool\DatabaseBackup\Processors\ShellProcessor(new Symfony\Component\Process\Process('')); $dumper = new McCool\DatabaseBackup\Dumpers\MysqlDumper($shellProcessor, 'localhost', 3306, 'username', 'password', 'test_db', 'backup/test.sql'); $backup = new McCool\DatabaseBackup\BackupProcedure($dumper); $backup->backup(); // dump the database to backup/test.sql and gzip it $shellProcessor = new McCool\DatabaseBackup\Processors\ShellProcessor(new Symfony\Component\Process\Process('')); $dumper = new McCool\DatabaseBackup\Dumpers\MysqlDumper($shellProcessor, 'localhost', 3306, 'username', 'password', 'test_db', 'backup/test.sql'); $archiver = new McCool\DatabaseBackup\Archivers\GzipArchiver($shellProcessor); $backup = new McCool\DatabaseBackup\BackupProcedure($dumper); $backup->setArchiver($archiver); $backup->backup(); // dump the database to backup/test.sql, gzip it, upload it to S3, and clean up after ourselves $shellProcessor = new McCool\DatabaseBackup\Processors\ShellProcessor(new Symfony\Component\Process\Process('')); $dumper = new McCool\DatabaseBackup\Dumpers\MysqlDumper($shellProcessor, 'localhost', 3306, 'username', 'password', 'test_db', 'backup/test.sql'); $archiver = new McCool\DatabaseBackup\Archivers\GzipArchiver($shellProcessor); $storer = new McCool\DatabaseBackup\Storers\S3Storer($awsKey, $awsSecret, 'us-east-1', $bucket, $s3Path); $backup = new McCool\DatabaseBackup\BackupProcedure($dumper); $backup->setArchiver($archiver); $backup->setStorer($storer); $backup->backup(); $backup->cleanup();
许可
MIT