henrywood/swoole-database-backup
最新稳定版本:v2.4.0
Composer 安装命令:
composer require henrywood/swoole-database-backup
包简介
Handles database backup
README 文档
README
Takes database backup after certain interval
Installation
composer require henrywood/swoole-database-backup
Usage
use DatabaseBackup\Backup; use DatabaseBackup\Helpers\Console; // Backup Class (NucleusBackup.php) class NucleusBackup extends AbstractBackup { protected bool $sendMailOnError = false; protected bool $sendMailOnSuccess = false; public function interval(): int { return 2_000; } public function filePath(): string { return sprintf('%s/nucleus-%s.sql', dirname(__DIR__, 2), uniqid()); } public function onSuccess(string $path, callable $done): void { $done(); Console::info('nucleus backup completed'); unlink($path); } public function connection(): DatabaseConnection { return new DatabaseConnection( driver: DatabaseDriver::MYSQL, host: 'localhost', username: 'root', password: '1234', database: 'nucleus' ); } } // Runner (run.php) use Swoole\Runtime; use DatabaseBackup\Backup; use DatabaseBackup\Helpers\Console; require __DIR__ . '/vendor/autoload.php'; Runtime::enableCoroutine(SWOOLE_HOOK_ALL); Console::writeln("Backup service started"); // Run backups Backup::new()->start([NucleusBackup::class]);
Mail Notification
use DatabaseBackup\Backup; $receivers = [ new MailReceiver( email: 'jane.doe@example.com', name: 'Jane Doe' ), ]; $smtp = new SmtpCredential( host: 'localhost', port: 8025, username: 'noreply@example.com', password: 'Password', auth: false ); Backup::new() ->withSmtp($smtp) ->withMailReceivers($receivers) ->start([NucleusBackup::class]);
This library is MIT Licenced
Enjoy 😉
统计信息
- 总下载量: 118
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-08