Recommend this page to a friend! |
![]() ![]() |
Info | ![]() |
![]() |
![]() ![]() |
Reputation | Support forum | Blog (1) | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2023-09-16 (6 days ago) ![]() | Not yet rated by the users | Total: 142 This week: 142 | All time: 9,139 This week: 1![]() |
Version | License | PHP version | Categories | |||
database-backup 1.0.0 | Shareware | 8 | Databases, Systems administration, PHP 8 |
Description | Author ahmard Contributor | ||||||||||||||
This package can take a database backup periodically. |
|
Takes database backup after certain interval
## 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,Helpers
username: 'noreply@example.com',
password: 'Password',
auth: false
);
Backup::new()
->withSmtp($smtp)
->withMailReceivers($receivers)
->start([NucleusBackup::class]);
This library is MIT Licenced
Enjoy ?
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Doc. | Documentation |
![]() |
/ | src |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() |
Class | Class source | ||
![]() |
Class | Class source | ||
![]() |
Class | Class source | ||
![]() |
Class | Class source | ||
![]() ![]() |
Aux. | Auxiliary script | ||
![]() |
Class | Class source | ||
![]() |
Class | Class source | ||
![]() |
Class | Class source |
![]() |
/ | src | / | Services |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
Class | Class source |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.