Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shuvroroy/filament-spatie-laravel-backup

Create backup of a Laravel application
https://github.com/shuvroroy/filament-spatie-laravel-backup

filament laravel laravel-backup php

Last synced: 2 days ago
JSON representation

Create backup of a Laravel application

Awesome Lists containing this project

README

        

# Filament Spatie Laravel Backup

[![PHP Version Require](https://poser.pugx.org/shuvroroy/filament-spatie-laravel-backup/require/php)](https://packagist.org/packages/shuvroroy/filament-spatie-laravel-backup)
[![Latest Stable Version](https://poser.pugx.org/shuvroroy/filament-spatie-laravel-backup/v)](https://packagist.org/packages/shuvroroy/filament-spatie-laravel-backup)
[![Total Downloads](https://poser.pugx.org/shuvroroy/filament-spatie-laravel-backup/downloads)](https://packagist.org/packages/shuvroroy/filament-spatie-laravel-backup)
[![License](https://poser.pugx.org/shuvroroy/filament-spatie-laravel-backup/license)](https://packagist.org/packages/shuvroroy/filament-spatie-laravel-backup)

This package provides a Filament page that you can create backup of your application. You'll find installation instructions and full documentation on [spatie/laravel-backup](https://spatie.be/docs/laravel-backup/v7/introduction).

Screenshot 2023-08-05 at 2 42 10 PM

## Installation

You can install the package via composer:

```bash
composer require shuvroroy/filament-spatie-laravel-backup
```

Publish the package's assets:

```bash
php artisan filament:assets
```

You can publish the lang file with:

```bash
php artisan vendor:publish --tag="filament-spatie-backup-translations"
```

## Usage

You first need to register the plugin with Filament. This can be done inside of your `PanelProvider`, e.g. `AdminPanelProvider`.

```php
plugin(FilamentSpatieLaravelBackupPlugin::make());
}
}
```

If you want to override the default `Backups` page icon, heading then you can extend the page class and override the `navigationIcon` property and `getHeading` method and so on.

```php
plugin(
FilamentSpatieLaravelBackupPlugin::make()
->usingPage(Backups::class)
);
}
}
```

## Customising the polling interval

You can customise the polling interval for the `Backups` by following the steps below:

```php
plugin(
FilamentSpatieLaravelBackupPlugin::make()
->usingPolingInterval('10s') // default value is 4s
);
}
}
```

## Customising the queue

You can customise the queue name for the `Backups` by following the steps below:

```php
plugin(
FilamentSpatieLaravelBackupPlugin::make()
->usingQueue('my-queue') // default value is null
);
}
}
```

## Customising the timeout

You can customise the timeout for the backup job by following the steps below:

```php
plugin(
FilamentSpatieLaravelBackupPlugin::make()
->timeout(120) // default value is max_execution_time from php.ini, or 30s if it wasn't defined
);
}
}
```

For more details refer to the [set_time_limit](https://www.php.net/manual/en/function.set-time-limit.php) function.

You can also disable the timeout altogether to let the job run as long as needed:

```php
plugin(
FilamentSpatieLaravelBackupPlugin::make()
->noTimeout()
);
}
}
```

## Upgrading

Please see [UPGRADE](UPGRADE.md) for details on how to upgrade 1.X to 2.0.

## Testing

```bash
composer test
```

## Changelog

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

## Contributing

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

## Security Vulnerabilities

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

## Credits

- [Shuvro Roy](https://github.com/shuvroroy)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.