Primo Committ
32
vendor/spatie/laravel-backup/.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
# Contributing
|
||||
|
||||
Contributions are **welcome** and will be fully **credited**.
|
||||
|
||||
We accept contributions via Pull Requests on [Github](https://github.com/spatie/laravel-backup).
|
||||
|
||||
|
||||
## Pull Requests
|
||||
|
||||
- **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - The easiest way to apply the conventions is to install [PHP Code Sniffer](http://pear.php.net/package/PHP_CodeSniffer).
|
||||
|
||||
- **Add tests!** - Your patch won't be accepted if it doesn't have tests.
|
||||
|
||||
- **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date.
|
||||
|
||||
- **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option.
|
||||
|
||||
- **Create feature branches** - Don't ask us to pull from your master branch.
|
||||
|
||||
- **One pull request per feature** - If you want to do more than one thing, send multiple pull requests.
|
||||
|
||||
- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting.
|
||||
|
||||
|
||||
## Running Tests
|
||||
|
||||
``` bash
|
||||
$ composer test
|
||||
```
|
||||
|
||||
|
||||
**Happy coding**!
|
||||
2
vendor/spatie/laravel-backup/.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
github: spatie
|
||||
custom: https://spatie.be/open-source/support-us
|
||||
11
vendor/spatie/laravel-backup/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Bug Report
|
||||
url: https://github.com/spatie/laravel-backup/issues/new
|
||||
about: Report a bug
|
||||
- name: Feature Request
|
||||
url: https://github.com/spatie/laravel-backup/discussions/new?category_id=3331052
|
||||
about: Share ideas for new features
|
||||
- name: Ask a Question
|
||||
url: https://github.com/spatie/laravel-backup/discussions/new?category_id=3331051
|
||||
about: Ask the community for help
|
||||
29
vendor/spatie/laravel-backup/.github/workflows/php-cs-fixer.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: Check & fix styling
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
style:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Fix style
|
||||
uses: docker://oskarstark/php-cs-fixer-ga
|
||||
with:
|
||||
args: --config=.php_cs.dist.php --allow-risky=yes
|
||||
|
||||
- name: Extract branch name
|
||||
shell: bash
|
||||
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||
id: extract_branch
|
||||
|
||||
- name: Commit changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v2.3.0
|
||||
with:
|
||||
commit_message: Fix styling
|
||||
branch: ${{ steps.extract_branch.outputs.branch }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
52
vendor/spatie/laravel-backup/.github/workflows/run-tests.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
name: run-tests
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
php: [8.0, 7.4, 7.3]
|
||||
laravel: [6.*, 7.*, 8.*]
|
||||
dependency-version: [prefer-lowest, prefer-stable]
|
||||
include:
|
||||
- laravel: 8.*
|
||||
testbench: 6.*
|
||||
- laravel: 7.*
|
||||
testbench: 5.*
|
||||
- laravel: 6.*
|
||||
testbench: 4.*
|
||||
|
||||
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install SQLite 3
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install sqlite3
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php }}
|
||||
extensions: curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
|
||||
composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
|
||||
|
||||
- name: Setup Problem Matches
|
||||
run: |
|
||||
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
|
||||
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
|
||||
|
||||
- name: Execute tests
|
||||
run: vendor/bin/phpunit
|
||||
40
vendor/spatie/laravel-backup/.php_cs.dist.php
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
$finder = Symfony\Component\Finder\Finder::create()
|
||||
->in([
|
||||
__DIR__ . '/src',
|
||||
__DIR__ . '/tests',
|
||||
])
|
||||
->name('*.php')
|
||||
->notName('*.blade.php')
|
||||
->ignoreDotFiles(true)
|
||||
->ignoreVCS(true);
|
||||
|
||||
return (new PhpCsFixer\Config())
|
||||
->setRules([
|
||||
'@PSR2' => true,
|
||||
'array_syntax' => ['syntax' => 'short'],
|
||||
'ordered_imports' => ['sort_algorithm' => 'alpha'],
|
||||
'no_unused_imports' => true,
|
||||
'not_operator_with_successor_space' => true,
|
||||
'trailing_comma_in_multiline' => true,
|
||||
'phpdoc_scalar' => true,
|
||||
'unary_operator_spaces' => true,
|
||||
'binary_operator_spaces' => true,
|
||||
'blank_line_before_statement' => [
|
||||
'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],
|
||||
],
|
||||
'phpdoc_single_line_var_spacing' => true,
|
||||
'phpdoc_var_without_name' => true,
|
||||
'class_attributes_separation' => [
|
||||
'elements' => [
|
||||
'method' => 'one',
|
||||
],
|
||||
],
|
||||
'method_argument_space' => [
|
||||
'on_multiline' => 'ensure_fully_multiline',
|
||||
'keep_multiple_spaces_after_comma' => true,
|
||||
],
|
||||
'single_trait_insert_per_statement' => true,
|
||||
])
|
||||
->setFinder($finder);
|
||||
826
vendor/spatie/laravel-backup/CHANGELOG.md
vendored
Normal file
@@ -0,0 +1,826 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to `laravel-backup` will be documented in this file.
|
||||
|
||||
## 6.16.5 - 2021-09-12
|
||||
|
||||
- fix undefined constant GLOB_BRACE on alpine (#1370)
|
||||
|
||||
## 6.16.4 - 2021-09-10
|
||||
|
||||
- fix windows compat
|
||||
|
||||
## 6.16.3 - 2021-09-01
|
||||
|
||||
- avoid full path on db dumps (#1386)
|
||||
|
||||
## 6.16.2 - 2021-08-11
|
||||
|
||||
- fix bugs (#1366)
|
||||
|
||||
## 6.16.1 - 2021-07-09
|
||||
|
||||
- detect write failures (#1347)
|
||||
|
||||
## 6.16.0 - 2021-04-15
|
||||
|
||||
- Add DumpingDatabase event v6 (#1293)
|
||||
|
||||
## 6.15.1 - 2021-03-16
|
||||
|
||||
- avoid exception when ZipArchive::EM_AES_256 is not available
|
||||
|
||||
## 6.15.0 - 2021-03-02
|
||||
|
||||
- allow to encrypt backup archives (#1239)
|
||||
|
||||
## 6.14.3 - 2021-01-29
|
||||
|
||||
- fix for #1225 (#1227)
|
||||
|
||||
## 6.14.2 - 2020-12-27
|
||||
|
||||
- add norwegian
|
||||
|
||||
## 6.14.1 - 2020-12-16
|
||||
|
||||
- fix exception messages
|
||||
|
||||
## 6.14.0 - 2020-12-08
|
||||
|
||||
- add option to add files to zip-file using relative path (#1158)
|
||||
|
||||
## 6.13.1 - 2020-12-01
|
||||
|
||||
- Update README.md, docs and comment in config file (#1154)
|
||||
|
||||
## 6.13.0 - 2020-11-25
|
||||
|
||||
- add support for PHP 8.0
|
||||
- drop support for Laravel 5.8
|
||||
|
||||
## 6.12.0 - 2020-11-19
|
||||
|
||||
- allow a `CleanupStrategy` to access its intended `BackupDestination` (#1149)
|
||||
|
||||
## 6.11.6 - 2020-10-19
|
||||
|
||||
- add funding section
|
||||
|
||||
## 6.11.4 - 2020-09-30
|
||||
|
||||
- add Portuguese translations
|
||||
|
||||
## 6.11.3 - 2020-09-29
|
||||
|
||||
- add Japanse translations
|
||||
|
||||
## 6.11.2 - 2020-09-07
|
||||
|
||||
- add support for Laravel 8
|
||||
|
||||
## 6.11.1 - 2020-06-17
|
||||
|
||||
- reduce number of filesystem calls for Backup `exists` and `date` (#1084)
|
||||
|
||||
## 6.11.0 - 2020-06-15
|
||||
|
||||
- avoid unreadable folders errors, can be set from config (#1081)
|
||||
|
||||
## 6.10.0 - 2020-05-20
|
||||
|
||||
- add support for the `unix_socket` database config option (#1072)
|
||||
|
||||
## 6.9.0 - 2020-04-20
|
||||
|
||||
- add right-aligned numbers in console output
|
||||
- don't resolve notifications from the IoC container, as per Laravel docs
|
||||
|
||||
## 6.8.1 - 2020-03-11
|
||||
|
||||
- added support to set execution timeout (#1046)
|
||||
|
||||
## 6.8.0 - 2020-03-02
|
||||
|
||||
- add support for Laravel 7
|
||||
|
||||
## 6.7.8 - 2020-02-19
|
||||
|
||||
- add Finnish localization (#1039)
|
||||
|
||||
## 6.7.7 - 2020-01-26
|
||||
|
||||
- fix MongoDB authentication connection name (#1025)
|
||||
|
||||
## 6.7.6 - 2019-12-12
|
||||
|
||||
- empty directories are now being backed up (#1008)
|
||||
|
||||
## 6.7.5 - 2019-12-02
|
||||
|
||||
- make compatible with PHP 7.4
|
||||
|
||||
## 6.7.4 - 2019-07-11
|
||||
|
||||
- corrects a typo in the method name (#994)
|
||||
|
||||
## 6.7.3 - 2019-10-31
|
||||
|
||||
- the monitor command will now really return non zero error code if there is a problem detected (#986)
|
||||
|
||||
## 6.7.2 - 2019-10-29
|
||||
|
||||
- the monitor command will now return non zero error code if there is a problem detected (#986)
|
||||
|
||||
## 6.7.1 - 2019-10-16
|
||||
|
||||
- fix deps
|
||||
|
||||
## 6.7.0 - 2019-10-16
|
||||
|
||||
- handle database urls for database connections (#980)
|
||||
|
||||
## 6.6.1 - 2019-10-09
|
||||
|
||||
- fix working with large backups on 32bit PHP installations
|
||||
|
||||
## 6.6.0 - 2019-10-08
|
||||
|
||||
- add disk getter function on Backup (#974)
|
||||
|
||||
## 6.5.1 - 2019-10-07
|
||||
|
||||
- fix email notifications not being sent #973
|
||||
|
||||
## 6.5.0 - 2019-10-07
|
||||
|
||||
**THIS VERSION CONTAINS A BREAKING BUG, DO NOT USE**
|
||||
|
||||
- add custom from address for mail notifications (#967)
|
||||
|
||||
## 6.4.2 - 2019-09-30
|
||||
|
||||
- fix for customized lang paths (#964)
|
||||
|
||||
## 6.4.1 - 2019-09-25
|
||||
|
||||
- fix backup stopping on notification failure (#960)
|
||||
|
||||
## 6.4.0 - 2019-09-04
|
||||
|
||||
- make compatible with Laravel 6
|
||||
|
||||
## 6.3.1 - 2019-07-16
|
||||
|
||||
- fix typo in zh-TW backup notification
|
||||
|
||||
## 6.3.0 - 2019-07-08
|
||||
|
||||
- add zh-CN & zh-TW
|
||||
|
||||
## 6.2.1 - 2019-07-01
|
||||
|
||||
- prevent excessive IO calls by caching backup properties
|
||||
|
||||
## 6.2.0 - 2019-04-25
|
||||
|
||||
- add support to add custom dumpers to DbDumperFactory (#900)
|
||||
|
||||
## 6.1.2 - 2019-04-05
|
||||
|
||||
- fix naming bug when dumping multiple sqlite db's
|
||||
|
||||
## 6.1.1 - 2019-02-27
|
||||
|
||||
- fix translation
|
||||
|
||||
## 6.1.0 - 2019-02-27
|
||||
|
||||
- add support for Laravel 5.8
|
||||
- drop support for Laravel 5.7
|
||||
|
||||
## 6.0.6 - 2019-02-21
|
||||
|
||||
- add Czech translations
|
||||
|
||||
## 6.0.5 - 2019-02-01
|
||||
|
||||
- use Str:: and Arr:: instead of helper methods
|
||||
|
||||
## 6.0.4 - 2019-01-30
|
||||
|
||||
- fix mongo auth error
|
||||
- fix mongo export extension
|
||||
|
||||
## 6.0.3 - 2019-01-03
|
||||
|
||||
- set default backup name
|
||||
|
||||
## 6.0.2 - 2019-01-03
|
||||
|
||||
- set default backup name
|
||||
|
||||
## 6.0.1 - 2019-01-01
|
||||
|
||||
- fix `monitor_backups.name` default config value
|
||||
|
||||
## 6.0.0 - 2018-12-29
|
||||
|
||||
- all config keys are now snake_cased
|
||||
- health checks have been converted to their own class
|
||||
- added Dutch translations
|
||||
- support for older laravel versions has been dropped
|
||||
|
||||
## 5.12.0 - 2018-11-28
|
||||
|
||||
- added the ability to use `backup_options` on a disk defined in the `filesystems` config file
|
||||
|
||||
## 5.11.4 - 2018-11-27
|
||||
|
||||
- restore lumen compatibility
|
||||
|
||||
## 5.11.3 - 2018-11-03
|
||||
|
||||
- fix bugs regarding cleaning backups
|
||||
|
||||
## 5.11.2 - 2018-10-30
|
||||
|
||||
- make sure the backup size is correctly displayed
|
||||
|
||||
## 5.11.1 - 2018-10-20
|
||||
|
||||
- fix bug where compressor config option would not be respected
|
||||
|
||||
## 5.11.0 - 2018-10-18
|
||||
|
||||
- add support for database compressors
|
||||
|
||||
## 5.10.1 - 2018-08-24
|
||||
|
||||
- allow Laravel 5.7
|
||||
|
||||
## 5.10.0 - 2018-08-09
|
||||
|
||||
- add `stream()` on `Backup`
|
||||
|
||||
## 5.9.3 - 2018-08-04
|
||||
|
||||
- set default for `disableNotifications` on `CleanupJob`
|
||||
|
||||
## 5.9.2 - 2018-08-04
|
||||
|
||||
- resolve `CleanupStrategy` out of the container
|
||||
|
||||
## 5.9.1 - 2018-06-19
|
||||
|
||||
- set default when `temporary_directory` config option is not set
|
||||
|
||||
## 5.9.0 - 2018-06-18
|
||||
|
||||
**THIS VERSION IS BROKEN, DO NOT USE**
|
||||
|
||||
- add `temporary_directory` config option
|
||||
|
||||
## 5.9.0 - 2018-08-09
|
||||
|
||||
- add `stream()` to `Backup`
|
||||
|
||||
## 5.8.0 - 2018-06-09
|
||||
|
||||
- add Polish translation
|
||||
|
||||
## 5.7.0 - 2018-05-11
|
||||
|
||||
- add Persian translation
|
||||
|
||||
## 5.6.6 - 2018-05-05
|
||||
|
||||
- fix composer requirements
|
||||
|
||||
## 5.6.5 - 2018-05-01
|
||||
|
||||
**THIS RELEASE WAS DELETED BECAUSE IT COULD GET PULLED IN WITH ONLY PHP7.0 INSTALLED**
|
||||
|
||||
- only zip files will get threated as backup files
|
||||
- drop support for PHP 7.0
|
||||
|
||||
## 5.6.4 - 2018-04-30
|
||||
|
||||
- gzipping is now handled by db-dumper
|
||||
|
||||
## 5.6.3 - 2018-04-26
|
||||
|
||||
- fix wrong import
|
||||
|
||||
## 5.6.2 - 2018-04-24
|
||||
|
||||
- lower storage requirements by removing the dumped database file after gzipping it
|
||||
|
||||
## 5.6.1 - 2018-04-13
|
||||
|
||||
- improved compatiblity with MariaDB
|
||||
- improved compatiblity with Google Drive
|
||||
|
||||
## 5.6.0 - 2018-04-03
|
||||
- add `icon` and `username` to slack config
|
||||
|
||||
## 5.5.1 - 2018-03-17
|
||||
- fix French translation
|
||||
|
||||
## 5.5.0 - 2018-03-17
|
||||
- add Hindi translation
|
||||
|
||||
## 5.4.1 - 2018-03-04
|
||||
- fix typo
|
||||
|
||||
## 5.4.0 - 2018-03-01
|
||||
- add turkish translation
|
||||
|
||||
## 5.3.0 - 2018-02-26
|
||||
- allow filtering on db name
|
||||
|
||||
## 5.2.2 - 2018-02-23
|
||||
- fix typos in exception messages
|
||||
|
||||
## 5.2.1 - 2018-02-08
|
||||
- add support for L5.6
|
||||
|
||||
## 5.2.0 - 2018-02-06
|
||||
- add indonesian translation
|
||||
|
||||
## 5.1.5 - 2018-01-20
|
||||
- more improvements to use correct exit codes
|
||||
|
||||
## 5.1.4 - 2018-01-18
|
||||
- use correct exit codes
|
||||
|
||||
## 5.1.3 - 2018-01-09
|
||||
- fix for apps using multiple dbs
|
||||
|
||||
## 5.1.2 - 2017-11-26
|
||||
- use `config` instead of `env` to get the app name
|
||||
|
||||
## 5.1.1 - 2017-11-03
|
||||
- fix deleting all backups when using maximum storage
|
||||
|
||||
## 5.1.0 - 2017-11-01
|
||||
- add Italian translations
|
||||
|
||||
## 5.0.5 - 2017-10-15
|
||||
- use all configuration keys when using `read` database connections
|
||||
|
||||
## 5.0.4 - 2017-10-01
|
||||
- fix CleanupHasFailed application_name translations
|
||||
|
||||
## 5.0.3 - 2017-09-29
|
||||
- use `APP_NAME` instead of `APP_URL` to name the backup
|
||||
|
||||
## 5.0.2 - 2017-09-29
|
||||
- renamed temporary directory
|
||||
|
||||
## 5.0.1 - 2017-09-26
|
||||
- type hint config contract instead of concreate config class on `EventHandler`
|
||||
|
||||
## 5.0.0 - 2017-08-30
|
||||
- added support for Laravel 5.5, dropped support for older versions of the framework
|
||||
- renamed config file from `laravel-backup` to `backup`
|
||||
|
||||
## 4.19.2 - 2017-08-29
|
||||
- make sure the temp directory is empty before starting the backup
|
||||
|
||||
## 4.19.1 - 2017-08-03
|
||||
- fix bug in default cleaning strategy
|
||||
|
||||
## 4.19.0 - 2017-08-02
|
||||
- add Spanish translations
|
||||
|
||||
## 4.18.1 - 2017-07-13
|
||||
- close resource in backup destination if this was not already done by Flysystem
|
||||
|
||||
## 4.18.0 - 2017-06-15
|
||||
- add `disable-notifications` option to `backup` and `clean` commands
|
||||
|
||||
## 4.17.0 - 2017-06-01
|
||||
- add Danish translation
|
||||
|
||||
## 4.16.0 - 2017-05-23
|
||||
- add French translation
|
||||
|
||||
## 4.15.0 - 2017-05-20
|
||||
- add Romanian translation
|
||||
|
||||
## 4.14.2 - 2017-05-18
|
||||
- fix for empty backup when trying to back up a single file
|
||||
|
||||
## 4.14.1 - 2017-05-09
|
||||
- prevent overwriting of dump files when two databases with the same name (but other driver) are dumped
|
||||
|
||||
## 4.14.0 - 2017-05-09
|
||||
- add support for MongoDB.
|
||||
|
||||
## 4.13.1 - 2017-05-01
|
||||
- fix call to undefined method getFilesystemName
|
||||
|
||||
## 4.13.0 - 2017-04-26
|
||||
- add support for gzipping database dumps
|
||||
|
||||
## 4.12.1 - 2017-04-19
|
||||
- optimise `backup:list` for external file systems
|
||||
|
||||
## 4.12.0 - 2017-04-14
|
||||
- add Russian translation
|
||||
|
||||
## 4.11.0 - 2017-04-14
|
||||
- add Ukranian translation
|
||||
|
||||
## 4.10.0 - 2017-04-11
|
||||
- add ability to override the Slack channel in the config file
|
||||
|
||||
## 4.9.0 - 2017-04-11
|
||||
- add pt-BR translation
|
||||
|
||||
## 4.8.1 - 2017-04-06
|
||||
- dump mysql databases in the configured charset
|
||||
|
||||
## 4.8.0 - 2017-04-02
|
||||
- add Arabic translation
|
||||
|
||||
## 4.7.2 - 2017-03-31
|
||||
- fix bug where a file that was already closed by Flysystem would be closed again
|
||||
|
||||
## 4.7.1 - 2017-03-14
|
||||
- do not send mail notification when config for notification contains an empty string
|
||||
|
||||
## 4.7.0 - 2017-03-14
|
||||
- added German translations
|
||||
|
||||
## 4.6.6 - 2017-02-22
|
||||
- fix for `File is busy` error
|
||||
|
||||
## 4.6.5 - 2017-02-19
|
||||
- added `backupName` to `backupDestinationProperties` of notifications
|
||||
|
||||
## 4.6.4 - 2017-02-17
|
||||
- fix `unhealthy_backup_found_full` translation
|
||||
|
||||
## 4.6.3 - 2017-02-17
|
||||
- fix `unhealthy_backup_found_full` translation
|
||||
|
||||
## 4.6.2 - 2017-02-17
|
||||
- fixed translation for `UnhealthyBackupWasFound` notification
|
||||
- fixed support for floating point numbers for maximum allow storage
|
||||
|
||||
## 4.6.1 - 2017-02-16
|
||||
- fixed translations for notifications
|
||||
|
||||
## 4.6.0 - 2017-02-15
|
||||
- add translations for notifications
|
||||
|
||||
## 4.5.0 - 2017-02-12
|
||||
- add SQLite support
|
||||
|
||||
## 4.4.9 - 2017-02-06
|
||||
- fix the dumping of DB's on Windows systems
|
||||
|
||||
## 4.4.8 - 2017-02-06
|
||||
- avoid empty directories in zips on Windows systems
|
||||
|
||||
## 4.4.7 - 2017-02-04
|
||||
- improve the creation of db dumper subdirectory in the temporary directory
|
||||
|
||||
## 4.4.6 - 2017-02-04
|
||||
- force creation of temporary directory
|
||||
|
||||
## 4.4.5 - 2017-02-03
|
||||
- force `BackupDestinationStatus::maximumAllowedUsageInBytes()` to return an integer
|
||||
|
||||
## 4.4.4 - 2017-02-02
|
||||
|
||||
- fix constraints so the latest version of `spatie/temporary-backup` can be pulled in
|
||||
|
||||
## 4.4.3 - 2017-02-02
|
||||
|
||||
- fix bug where entire backup disk would be ignored for backups
|
||||
|
||||
## 4.4.2 - 2017-02-01
|
||||
|
||||
- improve handling of temporary directory
|
||||
|
||||
## 4.4.1 - 2017-01-26
|
||||
|
||||
- fix typehint of `setMaximumStorageUsageInMegabytes`
|
||||
|
||||
## 4.4.0 - 2017-01-23
|
||||
|
||||
- add compatibility for Laravel 5.4
|
||||
|
||||
## 4.3.4 - 2017-01-22
|
||||
|
||||
- fix bugs in passing values from the database dump config to the db dumpers
|
||||
|
||||
## 4.3.3 - 2017-01-19
|
||||
|
||||
- fix error where `filename` option would not be respected in the `BackupCommand`
|
||||
|
||||
## 4.3.2 - 2017-01-02
|
||||
|
||||
- fix errors when `app.name` is empty
|
||||
|
||||
## 4.3.1 - 2016-12-11
|
||||
|
||||
- fix excluding paths of symlinked directories
|
||||
|
||||
## 4.3.0 - 2016-11-26
|
||||
|
||||
- added `filename_prefix` to config file
|
||||
|
||||
## 4.2.0 - 2016-11-19
|
||||
|
||||
- added `BackupZipCreated` event
|
||||
|
||||
## 4.1.0 - 2016-10-21
|
||||
|
||||
- added the ability to use a read-only host for db backups
|
||||
|
||||
## 4.0.4 - 2016-10-19
|
||||
|
||||
- use 24h clock when determining names for the zipfile.
|
||||
|
||||
## 4.0.3 - 2016-10-02
|
||||
|
||||
- fix for performance problems when backing up a large number of files
|
||||
|
||||
## 4.0.2 - 2016-09-21
|
||||
|
||||
- various bugfixes for the backup monitor
|
||||
|
||||
## 4.0.1 - 2016-09-20
|
||||
|
||||
- fix for dumping of databases than run on custom ports
|
||||
|
||||
## 4.0.0 - 2016-09-17
|
||||
|
||||
- removed custom notification system in favor of Laravel 5.3's native notifications
|
||||
- made it easier to pass custom arguments to the database dumpers
|
||||
- refactored most classes
|
||||
- dropped PHP 5 support
|
||||
|
||||
## 3.10.2 - 2016-08-24
|
||||
|
||||
- added L5.3 compatibility
|
||||
|
||||
## 3.10.1 - 2016-08-16
|
||||
|
||||
- refactored some code so backing up only writes to a disk without reading from it
|
||||
|
||||
## 3.10.0 - 2016-08-16
|
||||
|
||||
- made backup filename configurable
|
||||
|
||||
## 3.9.0 - 2016-08-07
|
||||
|
||||
- added telegram sender
|
||||
|
||||
## 3.8.2 - 2016-07-27
|
||||
|
||||
- fixed wrong comment in the config file
|
||||
|
||||
## 3.8.1 - 2016-07-06
|
||||
|
||||
- vastly reduce memory usage and speed up backup
|
||||
|
||||
## 3.8.0 - 2016-06-16
|
||||
|
||||
- the backup:list command now highlights the problems with a backupdestination when it is unhealty
|
||||
|
||||
## 3.7.2 - 2016-05-28
|
||||
|
||||
- refactor `FileSelection` in an attempt to reduce memory usage
|
||||
|
||||
## 3.7.1 - 2016-05-13
|
||||
|
||||
- fix for missing `followLinks` option after running `composer update`
|
||||
|
||||
## 3.7.0 - 2016-05-12
|
||||
|
||||
- added an option to determine if symlinks should be followed when selecting files
|
||||
|
||||
## 3.6.1 - 2016-05-10
|
||||
|
||||
- refactored wildcard support
|
||||
|
||||
## 3.6.0 - 2016-05-10
|
||||
|
||||
- add support for wildcards in excluding paths
|
||||
|
||||
## 3.5.0 - 2016-04-27
|
||||
|
||||
- add support for dumping a mysql db using a single transaction
|
||||
|
||||
## 3.4.4 - 2016-04-18
|
||||
|
||||
- fixed the capitalization of `CleanupWasSuccessful`
|
||||
|
||||
## 3.4.3 - 2016-04-18
|
||||
|
||||
- the `port` configuration of a postgresql db will now be used when dumping the db
|
||||
|
||||
## 3.4.2 - 2016-04-13
|
||||
|
||||
- the `port` configuration of a mysql db will now be used when dumping the db
|
||||
|
||||
## 3.4.1 - 2016-04-07
|
||||
|
||||
- fixed the `--only-to-disk` option in `backup:run`
|
||||
|
||||
## 3.4.0 - 2016-04-03
|
||||
|
||||
- added the ability to use inserts when dumping a PostgreSQL db
|
||||
|
||||
## 3.3.3 - 2016-04-01
|
||||
|
||||
- fixed a bug where the error events would not hold the exceptions in the right variable
|
||||
|
||||
## 3.3.2 - 2016-03-30
|
||||
|
||||
- excluded node_modules in default backup configuration
|
||||
|
||||
## 3.3.1 - 2016-03-29
|
||||
|
||||
- fix bug in service provider
|
||||
|
||||
## 3.3.0 - 2016-03-29
|
||||
|
||||
## This version contains a bug in the service provider. Please upgrade to 3.3.1
|
||||
|
||||
- made the pushover sounds configurable
|
||||
|
||||
## 3.2.2 - 2016-03-16
|
||||
|
||||
- made sure that, when a notifier fails, the other notifiers wil still get called
|
||||
|
||||
## 3.2.1 - 2016-03-16
|
||||
|
||||
- fixed a typo in the config file
|
||||
|
||||
## 3.2.0 - 2016-03-16
|
||||
|
||||
- added pushover sender
|
||||
|
||||
## 3.1.4 - 2016-03-16
|
||||
|
||||
- added an option to specify a timeout for the database dumpers
|
||||
- fixed a bug where notifications for certain events would not be sent
|
||||
|
||||
## 3.1.3 - 2016-03-16
|
||||
|
||||
- added an option to specify a custom mysqldump or pg_dump path, by adding `dump_command_path` in the database configuration file, for that particular database
|
||||
|
||||
## 3.1.2 - 2016-03-14
|
||||
|
||||
- upped the required version of db-dumper to a bug free version
|
||||
|
||||
## 3.1.1 - 2016-03-13
|
||||
|
||||
- fixed `backup:list`-command
|
||||
|
||||
## 3.1.0 - 2016-03-13
|
||||
|
||||
**This version contains a bug, that pops up when running `backup:list`. Please upgrade to 3.1.1**
|
||||
|
||||
- added support for PostgreSQL
|
||||
- added an option to the backup command to backup only to a specified diskname
|
||||
- renamed `filesystems` to `disks` in the config file, console output, events and error messages (in a non-breaking way, the old "filesystems" key will still work)
|
||||
|
||||
## 3.0.5 - 2016-03-09
|
||||
|
||||
- improve the console output
|
||||
|
||||
## 3.0.4 - 2016-03-08
|
||||
|
||||
- fixed the monitor command in Laravel 5.1 apps
|
||||
|
||||
## 3.0.3 - 2016-03-08
|
||||
|
||||
- make backup destinations more robust when using non existing file systems
|
||||
|
||||
## 3.0.2 - 2016-03-08
|
||||
|
||||
- added console output when a backup command fails
|
||||
|
||||
## 3.0.1 - 2016-03-08
|
||||
|
||||
- fixed a bug in the mail and slack notification senders
|
||||
|
||||
## 3.0.0 - 2016-03-08
|
||||
|
||||
Complete rewrite with lots of new features:
|
||||
|
||||
- added a new strategy to clean up old backups
|
||||
- added a monitor to check the health of the backups
|
||||
- added notifications to keep you informed about the status of the backups
|
||||
- databases will now be dumped using the separate spatie/db-dumper package
|
||||
- full documentation is now provided on https://docs.spatie.be/laravel-backup
|
||||
|
||||
|
||||
## 2.10.0
|
||||
- Add `list`-command
|
||||
- Make the `dump_command_path`-option a bit more robust
|
||||
|
||||
## 2.9.2
|
||||
- Fix installation error when using Symfony 3
|
||||
|
||||
## 2.9.1
|
||||
- Fixed a bug that prevented to write directly into the root of an S3 bucket
|
||||
|
||||
## 2.9.0
|
||||
- Added support for PostgreSQL.
|
||||
|
||||
## 2.8.3
|
||||
- Further improve the clean up of temporary files.
|
||||
|
||||
## 2.8.2
|
||||
- Improve the clean up of temporary files.
|
||||
|
||||
## 2.8.1
|
||||
- Fixed determining the driver of the database.
|
||||
|
||||
## 2.8.0
|
||||
- The temp backup file will now be explicitly deleted.
|
||||
|
||||
## 2.7.0
|
||||
- Add `only-files`-option
|
||||
|
||||
## 2.6.0
|
||||
- Display warning when backupping zero bytes
|
||||
|
||||
## 2.5.1
|
||||
- Fix tests
|
||||
|
||||
## 2.5.0
|
||||
- Added option to specify the timeout of the mysqldump command
|
||||
|
||||
## 2.4.2
|
||||
- Fixed an issue where the incorrect backup filename would be displayed
|
||||
|
||||
## 2.4.1
|
||||
- Changed github repo location
|
||||
|
||||
## 2.4.0
|
||||
- Add option to enable mysqldump's extended insert
|
||||
|
||||
## 2.3.2
|
||||
- Fixed a bug that caused a failure when backing up a large db
|
||||
|
||||
## 2.3.1
|
||||
- Fixed a bug where the backups would not be stored in the right directory
|
||||
|
||||
## 2.3.0
|
||||
- Add options to specifify a suffix and a prefix for the backup-zip-file
|
||||
- Add support for laravel installation that have seperate hosts for reading a writing a db
|
||||
|
||||
## 2.2.1
|
||||
- Fixes issues where not the whole db gets backed up when not using a socket
|
||||
|
||||
## 2.2.0 (Warning: this version contains a critical bug that could cause an incomplete backup of the database. This issue has been fixed in version 2.2.1)
|
||||
- Add support for custom sockets
|
||||
|
||||
## 2.1.2
|
||||
- Package is now compatible with php 5.4
|
||||
|
||||
## 2.1.1
|
||||
- Fixed a bug where the specified path in the config file is not respected during clean up
|
||||
|
||||
## 2.1.0
|
||||
- Added a command to clean up old backups
|
||||
|
||||
## 2.0.6
|
||||
- Added an option to only backup the db
|
||||
|
||||
## 2.0.4
|
||||
- Fixed a [bug](https://github.com/freekmurze/laravel-backup/issues/10) that caused dot files not being included in the backup
|
||||
|
||||
## 2.0.3
|
||||
- Moved orchestra/testbench to dev-dependencies
|
||||
|
||||
## 2.0.2
|
||||
- Fixed a [security issue](https://github.com/freekmurze/laravel-backup/issues/6) where, on shared hosting environments,
|
||||
the username and password show up in the processlist
|
||||
|
||||
## 2.0.1
|
||||
- Fixed a bug that caused excluded files to still end up in the backup
|
||||
- Added an exception when the database dump returns an empty string
|
||||
|
||||
## 2.0.0
|
||||
- Added support to backup directories and individual files
|
||||
- Configuration file changed
|
||||
- Refactored all classes
|
||||
|
||||
## 1.2.0
|
||||
- Added support to backup to multiple filesystems at once
|
||||
|
||||
## 1.1.0
|
||||
- Added support for L5's filesystem service
|
||||
|
||||
## 1.0.0
|
||||
- Initial release
|
||||
21
vendor/spatie/laravel-backup/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Spatie bvba <info@spatie.be>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
80
vendor/spatie/laravel-backup/README.md
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
<p align="center"><img src="/art/socialcard.png" alt="Social Card of Laravel Activity Log"></p>
|
||||
|
||||
# A modern backup solution for Laravel apps
|
||||
|
||||
[](https://packagist.org/packages/spatie/laravel-backup)
|
||||
[](LICENSE.md)
|
||||

|
||||
[](https://scrutinizer-ci.com/g/spatie/laravel-backup)
|
||||
[](https://packagist.org/packages/spatie/laravel-backup)
|
||||
|
||||
This Laravel package [creates a backup of your application](https://docs.spatie.be/laravel-backup/v6/taking-backups/overview). The backup is a zip file that contains all files in the directories you specify along with a dump of your database. The backup can be stored on [any of the filesystems you have configured in Laravel](http://laravel.com/docs/filesystem).
|
||||
|
||||
Feeling paranoid about backups? No problem! You can backup your application to multiple filesystems at once.
|
||||
|
||||
Once installed taking a backup of your files and databases is very easy. Just issue this artisan command:
|
||||
|
||||
``` bash
|
||||
php artisan backup:run
|
||||
```
|
||||
|
||||
But we didn't stop there. The package also provides [a backup monitor to check the health of your backups](https://docs.spatie.be/laravel-backup/v6/monitoring-the-health-of-all-backups/overview). You can be [notified via several channels](https://docs.spatie.be/laravel-backup/v6/sending-notifications/overview) when a problem with one of your backups is found.
|
||||
To avoid using excessive disk space, the package can also [clean up old backups](https://docs.spatie.be/laravel-backup/v6/cleaning-up-old-backups/overview).
|
||||
|
||||
## Support us
|
||||
|
||||
[<img src="https://github-ads.s3.eu-central-1.amazonaws.com/laravel-backup.jpg?t=1" width="419px" />](https://spatie.be/github-ad-click/laravel-backup)
|
||||
|
||||
We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).
|
||||
|
||||
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).
|
||||
|
||||
## Installation and usage
|
||||
|
||||
This package requires PHP 7.3 and Laravel 6.0 or higher.
|
||||
You'll find installation instructions and full documentation on https://docs.spatie.be/laravel-backup.
|
||||
|
||||
## Using an older version of PHP / Laravel?
|
||||
|
||||
If you are on a PHP version below 7.3 or a Laravel version below 6.0 just use an older version of this package.
|
||||
|
||||
Read the extensive [documentation on version 3](https://docs.spatie.be/laravel-backup/v3), [on version 4](https://docs.spatie.be/laravel-backup/v4) and [on version 5](https://docs.spatie.be/laravel-backup/v5). We won't introduce new features to v5 and below anymore but we will still fix bugs.
|
||||
|
||||
## Testing
|
||||
|
||||
Run the tests with:
|
||||
|
||||
``` 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
|
||||
|
||||
If you discover any security-related issues, please email freek@spatie.be instead of using the issue tracker.
|
||||
|
||||
## Postcardware
|
||||
|
||||
You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.
|
||||
|
||||
Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.
|
||||
|
||||
We publish all received postcards [on our company website](https://spatie.be/en/opensource/postcards).
|
||||
|
||||
## Credits
|
||||
|
||||
- [Freek Van der Herten](https://github.com/freekmurze)
|
||||
- [All Contributors](../../contributors)
|
||||
|
||||
And a special thanks to [Caneco](https://twitter.com/caneco) for the logo ✨
|
||||
|
||||
## License
|
||||
|
||||
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
|
||||
9
vendor/spatie/laravel-backup/UPGRADING.md
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
# From v5 to v6
|
||||
|
||||
- All keys in the config file are now snake_cased. Rename any camelCased keys to their snake_cased counterparts.
|
||||
- Make sure the structure of your config file is the same as the one that gets published by the package.
|
||||
- The `health_checks` config keys now contain actual check classes. Modify your config file so it uses the actual check classes.
|
||||
|
||||
# From v4 to v5
|
||||
|
||||
The config file has been renamed. Change the name of the config file from `laravel-backup.php` to `backup.php`
|
||||
56
vendor/spatie/laravel-backup/art/README.md
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
<p align="center"><img src="/art/socialcard.png" alt="Social Card of Laravel Backup"></p>
|
||||
|
||||
# Laravel Backup Art
|
||||
|
||||
The logo was inspired by the [Spatie](https://spatie.be) brand, and the well known minimal design of Laravel packages.
|
||||
|
||||
## Fonts
|
||||
|
||||
The logo is using the following fonts:
|
||||
|
||||
- [Inter 500](https://fonts.google.com/specimen/Inter#500)
|
||||
- [Inter 600](https://fonts.google.com/specimen/Inter#600)
|
||||
|
||||
## Colors
|
||||
|
||||
| |#hex |rgb() |
|
||||
|--- |--- |--- |
|
||||
||`#E8F1F4`|`rgb(232,241,244)`|
|
||||
||`#C6DDE4`|`rgb(198,221,228)`|
|
||||
||`#A3C8D4`|`rgb(163,200,212)`|
|
||||
||`#5E9EB3`|`rgb(94,158,179)` |
|
||||
||`#197593`|`rgb(25,117,147)` |
|
||||
||`#176984`|`rgb(23,105,132)` |
|
||||
||`#0F4658`|`rgb(15,70,88)` |
|
||||
||`#0B3542`|`rgb(11,53,66)` |
|
||||
||`#08232C`|`rgb(8,35,44)` |
|
||||
|
||||
## Requirements
|
||||
|
||||
- A screen or a printer
|
||||
|
||||
## Installation
|
||||
|
||||
- Open the file
|
||||
- *Right-click* on the image
|
||||
- Choose **"Save image as…"** option
|
||||
|
||||
## Maintainers
|
||||
|
||||
**Laravel Backup** logo is designed and maintained by [Caneco](https://twitter.com/caneco).
|
||||
|
||||
## License
|
||||
|
||||
All rights reserved, but with the following extra conditions:
|
||||
|
||||
- It is **OK** to use the Laravel Backup logo in the following cases:
|
||||
- In marketing materials for technical events, e.g. meetups, hackathons, conferences and workshops that are related to Laravel.
|
||||
- In open source projects related to Laravel.
|
||||
- In technical articles/videos/books/papers for educational purposes.
|
||||
- To illustrate a commercial product.
|
||||
|
||||
- It is **NOT OK** to use the Laravel Backup logo in the following cases without prior written consent from the copyright owners:
|
||||
- Using the Laravel Backup logo in a commercial product for purposes other than illustrating its integration.
|
||||
- Sell physical products that uses the Laravel Backup logo or its variants, e.g. t-shirts.
|
||||
|
||||
By any means the owner reserves the right of final explanation for any use case not explicitly stated above.
|
||||
BIN
vendor/spatie/laravel-backup/art/logomark.png
vendored
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
17
vendor/spatie/laravel-backup/art/logomark.svg
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
|
||||
<linearGradient id="a" x1=".371" x2="100" y1="25" y2="25" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#0F4658"/>
|
||||
<stop offset="1" stop-color="#197593"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#a)" d="M50 20c16.6 0 30 13.4 30 30h20c0-27.6-22.4-50-50-50-25.6 0-46.7 19.2-49.6 44h20.2c2.8-13.7 14.9-24 29.4-24z"/>
|
||||
<linearGradient id="b" x1=".824" x2="100" y1="75" y2="75" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#197593"/>
|
||||
<stop offset="1" stop-color="#0B3542"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#b)" d="M50 80c-13.4 0-24.8-8.8-28.6-21h-20.6c4.2 23.3 24.6 41 49.2 41 27.6 0 50-22.4 50-50h-20c0 16.6-13.4 30-30 30z"/>
|
||||
<linearGradient id="c" x1="22" x2="22" y1="44" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#176984"/>
|
||||
<stop offset="1" stop-color="#A3C8D4"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#c)" d="M44 44h-44v-44l44 44z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
BIN
vendor/spatie/laravel-backup/art/logomark@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
vendor/spatie/laravel-backup/art/logomark@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
vendor/spatie/laravel-backup/art/logomark@4x.png
vendored
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/100.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/200.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/300.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/400.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/500.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/600.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/700.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/800.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/palette/900.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
vendor/spatie/laravel-backup/art/socialcard.png
vendored
Normal file
|
After Width: | Height: | Size: 433 KiB |
83
vendor/spatie/laravel-backup/composer.json
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"name": "spatie/laravel-backup",
|
||||
"description": "A Laravel package to backup your application",
|
||||
"keywords": [
|
||||
"spatie",
|
||||
"backup",
|
||||
"database",
|
||||
"laravel-backup"
|
||||
],
|
||||
"homepage": "https://github.com/spatie/laravel-backup",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Freek Van der Herten",
|
||||
"email": "freek@spatie.be",
|
||||
"homepage": "https://spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.3|^8.0",
|
||||
"ext-zip": "^1.14.0",
|
||||
"illuminate/console": "^6.0|^7.0|^8.0",
|
||||
"illuminate/contracts": "^6.0|^7.0|^8.0",
|
||||
"illuminate/events": "^6.0|^7.0|^8.0",
|
||||
"illuminate/filesystem": "^6.0|^7.0|^8.0",
|
||||
"illuminate/notifications": "^6.0|^7.0|^8.0",
|
||||
"illuminate/support": "^6.0|^7.0|^8.0",
|
||||
"league/flysystem": "^1.0.49",
|
||||
"spatie/db-dumper": "^2.12",
|
||||
"spatie/temporary-directory": "^1.1",
|
||||
"symfony/finder": "^4.2|^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"laravel/slack-notification-channel": "^2.3",
|
||||
"league/flysystem-aws-s3-v3": "^1.0",
|
||||
"mockery/mockery": "^1.4.2",
|
||||
"orchestra/testbench": "4.*|5.*|6.*",
|
||||
"phpunit/phpunit": "^8.4|^9.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\Backup\\": "src"
|
||||
},
|
||||
"files": [
|
||||
"src/Helpers/functions.php"
|
||||
]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Spatie\\Backup\\Tests\\": "tests"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vendor/bin/phpunit",
|
||||
"format": "vendor/bin/php-cs-fixer fix --allow-risky=yes"
|
||||
},
|
||||
"suggest": {
|
||||
"laravel/slack-notification-channel": "Required for sending notifications via Slack"
|
||||
},
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
},
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Spatie\\Backup\\BackupServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/spatie"
|
||||
},
|
||||
{
|
||||
"type": "other",
|
||||
"url": "https://spatie.be/open-source/support-us"
|
||||
}
|
||||
]
|
||||
}
|
||||
266
vendor/spatie/laravel-backup/config/backup.php
vendored
Normal file
@@ -0,0 +1,266 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'backup' => [
|
||||
|
||||
/*
|
||||
* The name of this application. You can use this name to monitor
|
||||
* the backups.
|
||||
*/
|
||||
'name' => env('APP_NAME', 'laravel-backup'),
|
||||
|
||||
'source' => [
|
||||
|
||||
'files' => [
|
||||
|
||||
/*
|
||||
* The list of directories and files that will be included in the backup.
|
||||
*/
|
||||
'include' => [
|
||||
base_path(),
|
||||
],
|
||||
|
||||
/*
|
||||
* These directories and files will be excluded from the backup.
|
||||
*
|
||||
* Directories used by the backup process will automatically be excluded.
|
||||
*/
|
||||
'exclude' => [
|
||||
base_path('vendor'),
|
||||
base_path('node_modules'),
|
||||
],
|
||||
|
||||
/*
|
||||
* Determines if symlinks should be followed.
|
||||
*/
|
||||
'follow_links' => false,
|
||||
|
||||
/*
|
||||
* Determines if it should avoid unreadable folders.
|
||||
*/
|
||||
'ignore_unreadable_directories' => false,
|
||||
|
||||
/*
|
||||
* This path is used to make directories in resulting zip-file relative
|
||||
* Set to `null` to include complete absolute path
|
||||
* Example: base_path()
|
||||
*/
|
||||
'relative_path' => null,
|
||||
],
|
||||
|
||||
/*
|
||||
* The names of the connections to the databases that should be backed up
|
||||
* MySQL, PostgreSQL, SQLite and Mongo databases are supported.
|
||||
*
|
||||
* The content of the database dump may be customized for each connection
|
||||
* by adding a 'dump' key to the connection settings in config/database.php.
|
||||
* E.g.
|
||||
* 'mysql' => [
|
||||
* ...
|
||||
* 'dump' => [
|
||||
* 'excludeTables' => [
|
||||
* 'table_to_exclude_from_backup',
|
||||
* 'another_table_to_exclude'
|
||||
* ]
|
||||
* ],
|
||||
* ],
|
||||
*
|
||||
* If you are using only InnoDB tables on a MySQL server, you can
|
||||
* also supply the useSingleTransaction option to avoid table locking.
|
||||
*
|
||||
* E.g.
|
||||
* 'mysql' => [
|
||||
* ...
|
||||
* 'dump' => [
|
||||
* 'useSingleTransaction' => true,
|
||||
* ],
|
||||
* ],
|
||||
*
|
||||
* For a complete list of available customization options, see https://github.com/spatie/db-dumper
|
||||
*/
|
||||
'databases' => [
|
||||
'mysql',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* The database dump can be compressed to decrease diskspace usage.
|
||||
*
|
||||
* Out of the box Laravel-backup supplies
|
||||
* Spatie\DbDumper\Compressors\GzipCompressor::class.
|
||||
*
|
||||
* You can also create custom compressor. More info on that here:
|
||||
* https://github.com/spatie/db-dumper#using-compression
|
||||
*
|
||||
* If you do not want any compressor at all, set it to null.
|
||||
*/
|
||||
'database_dump_compressor' => null,
|
||||
|
||||
/*
|
||||
* The file extension used for the database dump files.
|
||||
*
|
||||
* If not specified, the file extension will be .archive for MongoDB and .sql for all other databases
|
||||
* The file extension should be specified without a leading .
|
||||
*/
|
||||
'database_dump_file_extension' => '',
|
||||
|
||||
'destination' => [
|
||||
|
||||
/*
|
||||
* The filename prefix used for the backup zip file.
|
||||
*/
|
||||
'filename_prefix' => '',
|
||||
|
||||
/*
|
||||
* The disk names on which the backups will be stored.
|
||||
*/
|
||||
'disks' => [
|
||||
'local',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* The directory where the temporary files will be stored.
|
||||
*/
|
||||
'temporary_directory' => storage_path('app/backup-temp'),
|
||||
|
||||
/*
|
||||
* The password to be used for archive encryption.
|
||||
* Set to `null` to disable encryption.
|
||||
*/
|
||||
'password' => env('BACKUP_ARCHIVE_PASSWORD'),
|
||||
|
||||
/*
|
||||
* The encryption algorithm to be used for archive encryption.
|
||||
* You can set it to `null` or `false` to disable encryption.
|
||||
*
|
||||
* When set to 'default', we'll use ZipArchive::EM_AES_256 if it is
|
||||
* available on your system.
|
||||
*/
|
||||
'encryption' => 'default',
|
||||
],
|
||||
|
||||
/*
|
||||
* You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
|
||||
* For Slack you need to install laravel/slack-notification-channel.
|
||||
*
|
||||
* You can also use your own notification classes, just make sure the class is named after one of
|
||||
* the `Spatie\Backup\Events` classes.
|
||||
*/
|
||||
'notifications' => [
|
||||
|
||||
'notifications' => [
|
||||
\Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => ['mail'],
|
||||
],
|
||||
|
||||
/*
|
||||
* Here you can specify the notifiable to which the notifications should be sent. The default
|
||||
* notifiable will use the variables specified in this config file.
|
||||
*/
|
||||
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
|
||||
|
||||
'mail' => [
|
||||
'to' => 'your@example.com',
|
||||
|
||||
'from' => [
|
||||
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||
],
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
'webhook_url' => '',
|
||||
|
||||
/*
|
||||
* If this is set to null the default channel of the webhook will be used.
|
||||
*/
|
||||
'channel' => null,
|
||||
|
||||
'username' => null,
|
||||
|
||||
'icon' => null,
|
||||
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* Here you can specify which backups should be monitored.
|
||||
* If a backup does not meet the specified requirements the
|
||||
* UnHealthyBackupWasFound event will be fired.
|
||||
*/
|
||||
'monitor_backups' => [
|
||||
[
|
||||
'name' => env('APP_NAME', 'laravel-backup'),
|
||||
'disks' => ['local'],
|
||||
'health_checks' => [
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
[
|
||||
'name' => 'name of the second app',
|
||||
'disks' => ['local', 's3'],
|
||||
'health_checks' => [
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
|
||||
],
|
||||
],
|
||||
*/
|
||||
],
|
||||
|
||||
'cleanup' => [
|
||||
/*
|
||||
* The strategy that will be used to cleanup old backups. The default strategy
|
||||
* will keep all backups for a certain amount of days. After that period only
|
||||
* a daily backup will be kept. After that period only weekly backups will
|
||||
* be kept and so on.
|
||||
*
|
||||
* No matter how you configure it the default strategy will never
|
||||
* delete the newest backup.
|
||||
*/
|
||||
'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
|
||||
|
||||
'default_strategy' => [
|
||||
|
||||
/*
|
||||
* The number of days for which backups must be kept.
|
||||
*/
|
||||
'keep_all_backups_for_days' => 7,
|
||||
|
||||
/*
|
||||
* The number of days for which daily backups must be kept.
|
||||
*/
|
||||
'keep_daily_backups_for_days' => 16,
|
||||
|
||||
/*
|
||||
* The number of weeks for which one weekly backup must be kept.
|
||||
*/
|
||||
'keep_weekly_backups_for_weeks' => 8,
|
||||
|
||||
/*
|
||||
* The number of months for which one monthly backup must be kept.
|
||||
*/
|
||||
'keep_monthly_backups_for_months' => 4,
|
||||
|
||||
/*
|
||||
* The number of years for which one yearly backup must be kept.
|
||||
*/
|
||||
'keep_yearly_backups_for_years' => 2,
|
||||
|
||||
/*
|
||||
* After cleaning up the backups remove the oldest backup until
|
||||
* this amount of megabytes has been reached.
|
||||
*/
|
||||
'delete_oldest_backups_when_using_more_megabytes_than' => 5000,
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
6
vendor/spatie/laravel-backup/docs/_index.md
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: v6
|
||||
slogan: One day you'll thank us for this
|
||||
githubUrl: https://github.com/spatie/laravel-backup
|
||||
branch: v6
|
||||
---
|
||||
13
vendor/spatie/laravel-backup/docs/about-us.md
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: About us
|
||||
weight: 8
|
||||
---
|
||||
|
||||
[Spatie](https://spatie.be) is a webdesign agency based in Antwerp, Belgium.
|
||||
|
||||
Open source software is used in all projects we deliver. Laravel, Nginx, Ubuntu are just a few of the free pieces of software we use every single day. For this, we are very grateful.
|
||||
When we feel we have solved a problem in a way that can help other developers, we release our code as open source software [on GitHub](https://spatie.be/opensource).
|
||||
|
||||
This backup package was made by [Freek Van der Herten](https://twitter.com/freekmurze). There are [many other contributors](https://github.com/spatie/laravel-backup/graphs/contributors) who devoted time and effort to make this package better.
|
||||
|
||||
A big thank you to [Gilbert West](https://github.com/blueclock) and [Jean-Philippe Murray](https://github.com/jpmurray) for proofreading. [Sebastian De Deyne](https://github.com/sebastiandedeyne) made sure the memory use of the package is kept in check. [Daniël Klabbers](https://github.com/Luceos) gave me some useful ideas on how to make the package better.
|
||||
4
vendor/spatie/laravel-backup/docs/advanced-usage/_index.md
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Advanced Usage
|
||||
weight: 5
|
||||
---
|
||||
39
vendor/spatie/laravel-backup/docs/advanced-usage/adding-extra-files-to-a-backup.md
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Adding extra files to a backup
|
||||
weight: 1
|
||||
---
|
||||
The package ships with a BackupManifestWasCreated event that enables you to add additional files to the backup zip file.
|
||||
|
||||
When backup process starts, the package will create a manifest of all file that are selected for backup. Once the manifest has been created, a zip file is made containing all the files in the manifest. The zip file will be copied to the backup destinations you configured.
|
||||
|
||||
However, if you have cases where you need to add additional files to a particular backup, you can do so, between the creation of the manifest and the creation of the zip file.
|
||||
|
||||
Right after the manifest is created and **before** the zip file is created the `Spatie\Backup\Events\BackupManifestWasCreated` event is fired. This is what is looks like:
|
||||
|
||||
```
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Spatie\Backup\Tasks\Backup\Manifest;
|
||||
|
||||
class BackupManifestWasCreated
|
||||
{
|
||||
/** @var \Spatie\Backup\Tasks\Backup\Manifest */
|
||||
public $manifest;
|
||||
|
||||
public function __construct(Manifest $manifest)
|
||||
{
|
||||
$this->manifest = $manifest;
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
You can use that event to add extra files to the manifest as in the example below where the extra files are passed as an array to the addFiles() method.
|
||||
|
||||
```php
|
||||
use Spatie\Backup\Events\BackupManifestWasCreated;
|
||||
|
||||
Event::listen(BackupManifestWasCreated::class, function (BackupManifestWasCreated $event) {
|
||||
$event->manifest->addFiles([$path1, $path2, ...]);
|
||||
});
|
||||
```
|
||||
12
vendor/spatie/laravel-backup/docs/advanced-usage/backing-up-a-non-laravel-application.md
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Backing up a non-laravel application
|
||||
weight: 2
|
||||
---
|
||||
|
||||
This package is tailor-made for use inside Laravel applications. But with a little bit of good will you can use it to backup non-Laravel applications as well.
|
||||
|
||||
To do so install Laravel on the same server where your non-Laravel application runs. In the Laravel app you'll have to install this package using the [installation instructions](/laravel-backup/v6/installation-and-setup). In the `app/config/backup.php`configuration file specify the paths of the non-laravel application you wish to backup in the `backup.source.files.include` key.
|
||||
|
||||
Do not forget to configure the database as well. In `app/config/databases.php` put the credentials of the database used by the non-Laravel application.
|
||||
|
||||
When running `php artisan backup:run` on the command line, the application will be backed up.
|
||||
31
vendor/spatie/laravel-backup/docs/advanced-usage/binary-database-dumps-with-postgresql.md
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Binary database dumps with PostgreSQL
|
||||
weight: 3
|
||||
---
|
||||
|
||||
PostgreSQL has the ability to produce binary database dumps via the `pg_dump` command, which produce smaller files than the SQL format and are faster to restore. See the [full list](https://www.postgresql.org/docs/current/app-pgdump.html) of `pg_dump` flags.
|
||||
|
||||
To take advantage of this, you can set the extra flags for `pg_dump` on the database connection(s) in `app/config/database.php`.
|
||||
|
||||
```php
|
||||
//config/database.php
|
||||
'connections' => [
|
||||
'pgsql' => [
|
||||
'driver' => 'pgsql'
|
||||
...,
|
||||
'dump' => [
|
||||
...,
|
||||
'add_extra_option' => '--format=c', // and any other pg_dump flags
|
||||
]
|
||||
],
|
||||
```
|
||||
|
||||
Additionally, you can change the file extension of the database dump file to signify that it is not a text SQL file.
|
||||
|
||||
```php
|
||||
//config/backup.php
|
||||
'backup' => [
|
||||
...,
|
||||
'database_dump_file_extension' => 'backup', // produces a FILENAME.backup database dump
|
||||
],
|
||||
```
|
||||
22
vendor/spatie/laravel-backup/docs/advanced-usage/encrypt-backup-archives.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Encrypt backup archives
|
||||
weight: 4
|
||||
---
|
||||
|
||||
It's common to encrypt backups before storing them somewhere to prevent unauthorized access.
|
||||
To do so you can configure this package to use client-side symmetric zip file password encryption before storing the archive somewhere.
|
||||
|
||||
By default you only have to define the `BACKUP_ARCHIVE_PASSWORD` environment variable in your `.env` file.
|
||||
|
||||
If you want to customize this you can configure the `backup.backup.password` and `backup.backup.encryption` keys in your `config/backup.php` file.
|
||||
|
||||
The whole encryption is done with an event listener.
|
||||
The `\Spatie\Backup\Listeners\EncryptBackupArchive` listener is attached to the `\Spatie\Backup\Events\BackupZipWasCreated` event.
|
||||
The listener is added to the event when both required config keys are not `null`.
|
||||
You are free to add this listener your own or override it.
|
||||
|
||||
It's important to try this workflow and also to decrypt a backup archive.
|
||||
So you know that it works and you have a working backup restore solution.
|
||||
|
||||
**Warning:** the default MacOS app to (un)archive ZIPs seems unable to open/extract encrypted ZIP files.
|
||||
You should use an app like [The Unarchiver](https://theunarchiver.com/) or [BetterZip](https://macitbetter.com/).
|
||||
6
vendor/spatie/laravel-backup/docs/changelog.md
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: Changelog
|
||||
weight: 7
|
||||
---
|
||||
|
||||
All notable changes to `laravel-backup` are documented in [the changelog on GitHub](https://github.com/spatie/laravel-backup/blob/master/CHANGELOG.md).
|
||||
4
vendor/spatie/laravel-backup/docs/cleaning-up-old-backups/_index.md
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Cleaning up old backups
|
||||
weight: 2
|
||||
---
|
||||
26
vendor/spatie/laravel-backup/docs/cleaning-up-old-backups/events.md
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Events
|
||||
weight: 2
|
||||
---
|
||||
|
||||
These events are fired during the cleanup process.
|
||||
|
||||
## CleanupWasSuccessful
|
||||
|
||||
`Spatie\Backup\Events\CleanupWasSuccessful`
|
||||
|
||||
This event is fired when old backups are successfully removed from a destination filesystem.
|
||||
|
||||
It has one public property `$backupDestination` that contains an instance of `Spatie\Backup\BackupDestination\BackupDestination`.
|
||||
|
||||
## CleanupHasFailed
|
||||
|
||||
`Spatie\Backup\Events\CleanupHasFailed`
|
||||
|
||||
This event is fired when something goes wrong while cleaning up.
|
||||
|
||||
It has two public properties:
|
||||
|
||||
- `$exception`: an object that conforms to the `Exception` interface. It is highly likely that `$exception->getMessage()` will return more information on what went wrong.
|
||||
- `$backupDestination`: if this is `null` then something probably went wrong before even connecting to one of the backup destinations. If it is an instance of `Spatie\Backup\BackupDestination\BackupDestination` something went wrong when trying to connect or
|
||||
write to that destination.
|
||||
111
vendor/spatie/laravel-backup/docs/cleaning-up-old-backups/overview.md
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
---
|
||||
title: Cleaning up old backups
|
||||
weight: 1
|
||||
---
|
||||
|
||||
Over time the number of backups and the storage required to store them will grow. At some point you will want to clean up old backups.
|
||||
|
||||
You can clean up your backups by running:
|
||||
|
||||
```bash
|
||||
php artisan backup:clean
|
||||
```
|
||||
|
||||
We'll tell you right off the bat that the package by default will never delete the latest backup regardless of its size or age.
|
||||
|
||||
## Determining which backups should be deleted
|
||||
|
||||
This portion of the configuration determines which backups should be deleted.
|
||||
|
||||
```php
|
||||
//config/backup.php
|
||||
|
||||
'cleanup' => [
|
||||
/*
|
||||
* The strategy that will be used to cleanup old backups. The default strategy
|
||||
* will keep all backups for a certain amount of days. After that period only
|
||||
* a daily backup will be kept. After that period only weekly backups will
|
||||
* be kept and so on.
|
||||
*
|
||||
* No matter how you configure it the default strategy will never
|
||||
* deleted the newest backup.
|
||||
*/
|
||||
'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
|
||||
|
||||
'default_strategy' => [
|
||||
|
||||
/*
|
||||
* The number of days that all backups must be kept.
|
||||
*/
|
||||
'keep_all_backups_for_days' => 7,
|
||||
|
||||
/*
|
||||
* The number of days that all daily backups must be kept.
|
||||
*/
|
||||
'keep_daily_backups_for_days' => 16,
|
||||
|
||||
/*
|
||||
* The number of weeks of which one weekly backup must be kept.
|
||||
*/
|
||||
'keep_weekly_backups_for_weeks' => 8,
|
||||
|
||||
/*
|
||||
* The number of months of which one monthly backup must be kept.
|
||||
*/
|
||||
'keep_monthly_backups_for_months' => 4,
|
||||
|
||||
/*
|
||||
* The number of years of which one yearly backup must be kept.
|
||||
*/
|
||||
'keep_yearly_backups_for_years' => 2,
|
||||
|
||||
/*
|
||||
* After cleaning up the backups remove the oldest backup until
|
||||
* this amount of megabytes has been reached.
|
||||
*/
|
||||
'delete_oldest_backups_when_using_more_megabytes_than' => 5000,
|
||||
],
|
||||
],
|
||||
```
|
||||
|
||||
This package provides an opinionated method to determine which old backups should be deleted. We call this the `DefaultStrategy`. This is how it works:
|
||||
|
||||
- Rule #1: it will never delete the latest backup regardless of its size or age
|
||||
- Rule #2: it will keep all backups for the number of days specified in `keepAllBackupsForDays`
|
||||
- Rule #3: it will only keep daily backups for the number of days specified in `keepDailyBackupsForDays` for all backups
|
||||
older than those covered by rule #2
|
||||
- Rule #4: it will only keep weekly backups for the number of months specified in `keepMonthlyBackupsForMonths` for all backups older than those covered by rule #3
|
||||
- Rule #5: it'll only keep yearly backups for the number of years specified in `keepYearlyBackupsForYears` for all backups older than those covered by rule #4
|
||||
- Rule #6: it will start deleting old backups until the volume of storage used is lower than the amount specified in `deleteOldestBackupsWhenUsingMoreMegabytesThan`.
|
||||
|
||||
Of course the numbers used in the default configuration can be adjusted to suit your own needs.
|
||||
|
||||
## Creating your own strategy
|
||||
|
||||
If you're requirements are not covered by the `DefaultStrategy`, you can create your own custom strategy.
|
||||
|
||||
Extend the abstract class `Spatie\Backup\Tasks\Cleanup\CleanupStrategy`. You only need to implement this method:
|
||||
|
||||
```php
|
||||
use Spatie\Backup\BackupDestination\BackupCollection;
|
||||
|
||||
public function deleteOldBackups(BackupCollection $backupCollection)
|
||||
```
|
||||
|
||||
The `BackupCollection` class is extended from `Illuminate\Support\Collection` and contains `Spatie\Backup\BackupDestination\Backup` objects sorted by age. The latest backup is the first one in the collection.
|
||||
|
||||
Using the collection, you can easily manually delete the oldest backup:
|
||||
|
||||
```php
|
||||
// Retrieve an instance of `Spatie\Backup\BackupDestination\Backup`
|
||||
$backup = $backups->oldestBackup();
|
||||
|
||||
// Bye bye backup
|
||||
$backup->delete();
|
||||
```
|
||||
|
||||
Don't forget to specify the full classname of your custom strategy in the `cleanup.strategy` key of the `laravel-backup` config file.
|
||||
|
||||
## Get notifications when a cleanup goes wrong
|
||||
|
||||
You can receive a notification when a cleanup goes wrong. Read the section on [notifications](/laravel-backup/v5/sending-notifications/overview) for more info.
|
||||
18
vendor/spatie/laravel-backup/docs/high-level-overview.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: High level overview
|
||||
weight: 4
|
||||
---
|
||||
|
||||
## Taking backups
|
||||
|
||||
A backup is a .zip file containing all files in the directories you specify and a dump of your database (MySQL and PostgreSQL are supported). The .zip file can automatically be copied over to [any of the filesystems](https://laravel.com/docs/8.x/filesystem) you have configured.
|
||||
|
||||
To perform a new backup you just have to run `php artisan backup:run`. In most cases you'll want to schedule this command.
|
||||
|
||||
## Cleaning up old backups
|
||||
|
||||
As you create more and more backups, you'll eventually run out of disk space (or you'll have to pay a very large bill for storage). To prevent this from happening the package can delete old backups.
|
||||
|
||||
## Monitoring the health of all backups
|
||||
|
||||
The package can also check the health of your application's backups. A backup is considered unhealthy if the date of the last backup is too far in the past for it to be useful or if the backup becomes too large. In addition to monitoring the health of the application's own backups, backups of other applications can be monitored as well.
|
||||
386
vendor/spatie/laravel-backup/docs/installation-and-setup.md
vendored
Normal file
@@ -0,0 +1,386 @@
|
||||
---
|
||||
title: Installation and setup
|
||||
weight: 5
|
||||
---
|
||||
|
||||
## Basic installation
|
||||
|
||||
You can install this package via composer using:
|
||||
|
||||
``` bash
|
||||
composer require spatie/laravel-backup
|
||||
```
|
||||
|
||||
The package will automatically register its service provider.
|
||||
|
||||
To publish the config file to `config/backup.php` run:
|
||||
|
||||
``` bash
|
||||
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
|
||||
```
|
||||
|
||||
This is the default contents of the configuration:
|
||||
|
||||
```php
|
||||
return [
|
||||
|
||||
'backup' => [
|
||||
|
||||
/*
|
||||
* The name of this application. You can use this name to monitor
|
||||
* the backups.
|
||||
*/
|
||||
'name' => env('APP_NAME', 'laravel-backup'),
|
||||
|
||||
'source' => [
|
||||
|
||||
'files' => [
|
||||
|
||||
/*
|
||||
* The list of directories and files that will be included in the backup.
|
||||
*/
|
||||
'include' => [
|
||||
base_path(),
|
||||
],
|
||||
|
||||
/*
|
||||
* These directories and files will be excluded from the backup.
|
||||
*
|
||||
* Directories used by the backup process will automatically be excluded.
|
||||
*/
|
||||
'exclude' => [
|
||||
base_path('vendor'),
|
||||
base_path('node_modules'),
|
||||
],
|
||||
|
||||
/*
|
||||
* Determines if symlinks should be followed.
|
||||
*/
|
||||
'follow_links' => false,
|
||||
|
||||
/*
|
||||
* Determines if it should avoid unreadable folders.
|
||||
*/
|
||||
'ignore_unreadable_directories' => false,
|
||||
|
||||
/*
|
||||
* This path is used to make directories in resulting zip-file relative
|
||||
* Set to `null` to include complete absolute path
|
||||
* Example: base_path()
|
||||
*/
|
||||
'relative_path' => null,
|
||||
],
|
||||
|
||||
/*
|
||||
* The names of the connections to the databases that should be backed up
|
||||
* MySQL, PostgreSQL, SQLite and Mongo databases are supported.
|
||||
*
|
||||
* The content of the database dump may be customized for each connection
|
||||
* by adding a 'dump' key to the connection settings in config/database.php.
|
||||
* E.g.
|
||||
* 'mysql' => [
|
||||
* ...
|
||||
* 'dump' => [
|
||||
* 'excludeTables' => [
|
||||
* 'table_to_exclude_from_backup',
|
||||
* 'another_table_to_exclude'
|
||||
* ]
|
||||
* ],
|
||||
* ],
|
||||
*
|
||||
* If you are using only InnoDB tables on a MySQL server, you can
|
||||
* also supply the useSingleTransaction option to avoid table locking.
|
||||
*
|
||||
* E.g.
|
||||
* 'mysql' => [
|
||||
* ...
|
||||
* 'dump' => [
|
||||
* 'useSingleTransaction' => true,
|
||||
* ],
|
||||
* ],
|
||||
*
|
||||
* For a complete list of available customization options, see https://github.com/spatie/db-dumper
|
||||
*/
|
||||
'databases' => [
|
||||
'mysql',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* The database dump can be compressed to decrease diskspace usage.
|
||||
*
|
||||
* Out of the box Laravel-backup supplies
|
||||
* Spatie\DbDumper\Compressors\GzipCompressor::class.
|
||||
*
|
||||
* You can also create custom compressor. More info on that here:
|
||||
* https://github.com/spatie/db-dumper#using-compression
|
||||
*
|
||||
* If you do not want any compressor at all, set it to null.
|
||||
*/
|
||||
'database_dump_compressor' => null,
|
||||
|
||||
/*
|
||||
* The file extension used for the database dump files.
|
||||
*
|
||||
* If not specified, the file extension will be .archive for MongoDB and .sql for all other databases
|
||||
* The file extension should be specified without a leading .
|
||||
*/
|
||||
'database_dump_file_extension' => '',
|
||||
|
||||
'destination' => [
|
||||
|
||||
/*
|
||||
* The filename prefix used for the backup zip file.
|
||||
*/
|
||||
'filename_prefix' => '',
|
||||
|
||||
/*
|
||||
* The disk names on which the backups will be stored.
|
||||
*/
|
||||
'disks' => [
|
||||
'local',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* The directory where the temporary files will be stored.
|
||||
*/
|
||||
'temporary_directory' => storage_path('app/backup-temp'),
|
||||
|
||||
/*
|
||||
* The password to be used for archive encryption.
|
||||
* Set to `null` to disable encryption.
|
||||
*/
|
||||
'password' => env('BACKUP_ARCHIVE_PASSWORD'),
|
||||
|
||||
/*
|
||||
* The encryption algorithm to be used for archive encryption.
|
||||
* You can set it to `null` or `false` to disable encryption.
|
||||
*/
|
||||
'encryption' => \ZipArchive::EM_AES_256,
|
||||
],
|
||||
|
||||
/*
|
||||
* You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
|
||||
* For Slack you need to install laravel/slack-notification-channel.
|
||||
*
|
||||
* You can also use your own notification classes, just make sure the class is named after one of
|
||||
* the `Spatie\Backup\Events` classes.
|
||||
*/
|
||||
'notifications' => [
|
||||
|
||||
'notifications' => [
|
||||
\Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => ['mail'],
|
||||
],
|
||||
|
||||
/*
|
||||
* Here you can specify the notifiable to which the notifications should be sent. The default
|
||||
* notifiable will use the variables specified in this config file.
|
||||
*/
|
||||
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
|
||||
|
||||
'mail' => [
|
||||
'to' => 'your@example.com',
|
||||
|
||||
'from' => [
|
||||
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||
],
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
'webhook_url' => '',
|
||||
|
||||
/*
|
||||
* If this is set to null the default channel of the webhook will be used.
|
||||
*/
|
||||
'channel' => null,
|
||||
|
||||
'username' => null,
|
||||
|
||||
'icon' => null,
|
||||
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* Here you can specify which backups should be monitored.
|
||||
* If a backup does not meet the specified requirements the
|
||||
* UnHealthyBackupWasFound event will be fired.
|
||||
*/
|
||||
'monitor_backups' => [
|
||||
[
|
||||
'name' => env('APP_NAME', 'laravel-backup'),
|
||||
'disks' => ['local'],
|
||||
'health_checks' => [
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
[
|
||||
'name' => 'name of the second app',
|
||||
'disks' => ['local', 's3'],
|
||||
'health_checks' => [
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
|
||||
],
|
||||
],
|
||||
*/
|
||||
],
|
||||
|
||||
'cleanup' => [
|
||||
/*
|
||||
* The strategy that will be used to cleanup old backups. The default strategy
|
||||
* will keep all backups for a certain amount of days. After that period only
|
||||
* a daily backup will be kept. After that period only weekly backups will
|
||||
* be kept and so on.
|
||||
*
|
||||
* No matter how you configure it the default strategy will never
|
||||
* delete the newest backup.
|
||||
*/
|
||||
'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
|
||||
|
||||
'default_strategy' => [
|
||||
|
||||
/*
|
||||
* The number of days for which backups must be kept.
|
||||
*/
|
||||
'keep_all_backups_for_days' => 7,
|
||||
|
||||
/*
|
||||
* The number of days for which daily backups must be kept.
|
||||
*/
|
||||
'keep_daily_backups_for_days' => 16,
|
||||
|
||||
/*
|
||||
* The number of weeks for which one weekly backup must be kept.
|
||||
*/
|
||||
'keep_weekly_backups_for_weeks' => 8,
|
||||
|
||||
/*
|
||||
* The number of months for which one monthly backup must be kept.
|
||||
*/
|
||||
'keep_monthly_backups_for_months' => 4,
|
||||
|
||||
/*
|
||||
* The number of years for which one yearly backup must be kept.
|
||||
*/
|
||||
'keep_yearly_backups_for_years' => 2,
|
||||
|
||||
/*
|
||||
* After cleaning up the backups remove the oldest backup until
|
||||
* this amount of megabytes has been reached.
|
||||
*/
|
||||
'delete_oldest_backups_when_using_more_megabytes_than' => 5000,
|
||||
],
|
||||
],
|
||||
];
|
||||
```
|
||||
|
||||
## Configuring the backup disk
|
||||
|
||||
By default, the backup will be saved into the `public/laravel-backup/` directory of your laravel application. This folder most probably is configured to be public.
|
||||
We recommand to create a disk named `backups` (you can use any name you prefer) in `filesystems.php` and specify that name in the `disk` key of the `backup.php` config file.
|
||||
|
||||
## Scheduling
|
||||
|
||||
After you have performed the basic installation you can start using the `backup:run`, `backup:clean`, `backup:list` and `backup:monitor`-commands. In most cases you'll want to schedule these commands so you don't have to manually run `backup:run` everytime you need a new backup.
|
||||
|
||||
The commands can be scheduled in Laravel's console kernel, just like any other command.
|
||||
|
||||
```php
|
||||
// app/Console/Kernel.php
|
||||
|
||||
protected function schedule(Schedule $schedule)
|
||||
{
|
||||
$schedule->command('backup:clean')->daily()->at('01:00');
|
||||
$schedule->command('backup:run')->daily()->at('02:00');
|
||||
}
|
||||
```
|
||||
|
||||
Of course, the times used in the code above are just examples. Adjust them to suit your own preferences.
|
||||
|
||||
If a backup cannot be taken successfully, the `backup:run` command returns an exit code of 1 which signals a general error, so you can use laravel's task hooks to specify code to be executed if the scheduled backup succeeds or fails:
|
||||
|
||||
```
|
||||
$schedule
|
||||
->command('backup:run')->daily()->at('01:00')
|
||||
->onFailure(function () {
|
||||
...
|
||||
})
|
||||
->onSuccess(function () {
|
||||
...
|
||||
});
|
||||
```
|
||||
|
||||
## Monitoring
|
||||
|
||||
If your application is broken, the scheduled jobs cannot run anymore. You might also simply forget to add a cron job needed to trigger Laravel's scheduling. In either case, you may think backups are being made when in fact nothing is being backed up.
|
||||
|
||||
To find out about problems with your backups, the package ships with monitoring functionality. It will inform you when backups become too old or when they take up too much storage.
|
||||
|
||||
Learn how to [set up monitoring](/laravel-backup/v6/monitoring-the-health-of-all-backups/overview).
|
||||
|
||||
## Dumping the database
|
||||
`mysqldump` is used to backup MySQL databases. `pg_dump` is used to dump PostgreSQL databases. If these binaries are not installed in a default location, you can add a key named `dump.dump_binary_path` in Laravel's own `database.php` config file. **Only fill in the path to the binary**. Do not include the name of the binary itself.
|
||||
|
||||
If your database dump takes a long time, you might exceed the default timeout of 60 seconds. You can set a higher (or lower) limit by providing a `dump.timeout` config key which specifies, in seconds, how long the command may run.
|
||||
|
||||
Here's an example for MySQL:
|
||||
|
||||
```php
|
||||
//config/database.php
|
||||
'connections' => [
|
||||
'mysql' => [
|
||||
'driver' => 'mysql'
|
||||
...,
|
||||
'dump' => [
|
||||
'dump_binary_path' => '/path/to/the/binary', // only the path, so without `mysqldump` or `pg_dump`
|
||||
'use_single_transaction',
|
||||
'timeout' => 60 * 5, // 5 minute timeout
|
||||
'exclude_tables' => ['table1', 'table2'],
|
||||
'add_extra_option' => '--optionname=optionvalue', // for example '--column_statistics=0'
|
||||
]
|
||||
],
|
||||
```
|
||||
|
||||
### File extensions of database dumps
|
||||
|
||||
By default, database dump files are named `.sql`, except for the MongoDB driver which are named `.archive`. If you would like to override this, you can set the file extension to be used in the config.
|
||||
|
||||
For example, to save a database dump as a `.txt` file:
|
||||
```php
|
||||
//config/backup.php
|
||||
'backup' => [
|
||||
...,
|
||||
'database_dump_file_extension' => 'txt',
|
||||
],
|
||||
```
|
||||
|
||||
> This relates to the names of the database dump files **within** the overall backup `zip` file that is generated.
|
||||
|
||||
### Custom database dumpers
|
||||
|
||||
If you need to have a custom database dumper for a driver, you can use `DbDumpFactory::extend()`. It expects the first argument to be the driver name and the second to be a callback that returns an instance of `Spatie\DbDumper\DbDumper`.
|
||||
|
||||
```php
|
||||
DbDumperFactory::extend('mysql', function() {
|
||||
return new YourCustomMysqlDumper();
|
||||
});
|
||||
```
|
||||
|
||||
```php
|
||||
use Spatie\DbDumper\DbDumper;
|
||||
|
||||
class YourCustomMysqlDumper extends DbDumper
|
||||
{
|
||||
|
||||
}
|
||||
```
|
||||
28
vendor/spatie/laravel-backup/docs/introduction.md
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Introduction
|
||||
weight: 1
|
||||
---
|
||||
|
||||
This Laravel package creates a backup of your application. The backup is a zipfile that contains all files in the directories you specify along with a dump of your database. The backup can be stored on [any of the filesystems](https://laravel.com/docs/8.x/filesystem) you have configured. The package can also notify you via Mail, Slack or any notification provider when something goes wrong with your backups.
|
||||
|
||||
Feeling paranoid about backups? Don't be! You can backup your application to multiple filesystems at once.
|
||||
|
||||
Once installed, making a backup of your files and databases is very easy. Just run this artisan command:
|
||||
|
||||
``` bash
|
||||
php artisan backup:run
|
||||
```
|
||||
|
||||
In addition to making the backup, the package can also clean up old backups, monitor the health of the backups, and show an overview of all backups.
|
||||
|
||||
If you need to backup multiple servers, take a look at [our laravel-backup-server package](https://spatie.be/docs/laravel-backup-server/v1/introduction).
|
||||
|
||||
## We have badges!
|
||||
|
||||
<section class="article_badges">
|
||||
<a href="https://github.com/spatie/laravel-backup/releases"><img src="https://img.shields.io/github/release/spatie/laravel-backup.svg?style=flat-square" alt="Latest Version"></a>
|
||||
<a href="https://github.com/spatie/laravel-backup/blob/master/LICENSE.md"><img src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square" alt="Software License"></a>
|
||||
<a href="https://travis-ci.org/spatie/laravel-backup"><img src="https://img.shields.io/travis/spatie/laravel-backup/master.svg?style=flat-square" alt="Build Status"></a>
|
||||
<a href="https://scrutinizer-ci.com/g/spatie/laravel-backup"><img src="https://img.shields.io/scrutinizer/g/spatie/laravel-backup.svg?style=flat-square" alt="Quality Score"></a>
|
||||
<a href="https://packagist.org/packages/spatie/laravel-backup"><img src="https://img.shields.io/packagist/dt/spatie/laravel-backup.svg?style=flat-square" alt="Total Downloads"></a>
|
||||
</section>
|
||||
4
vendor/spatie/laravel-backup/docs/monitoring-the-health-of-all-backups/_index.md
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Monitoring the health of all backups
|
||||
weight: 3
|
||||
---
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Creating your custom health check
|
||||
weight: 2
|
||||
---
|
||||
|
||||
You can create your own custom health check by letting a class extend `Spatie\Backup\Tasks\Monitor\HealthCheck`.
|
||||
|
||||
That base class contains one abstract method that you should implement.
|
||||
|
||||
```php
|
||||
public function checkHealth(BackupDestination $backupDestination);
|
||||
```
|
||||
|
||||
If your check determines that the backup is not healthy it should throw a `Spatie\Backup\Exceptions\InvalidHealthCheck` exception. The `HealthCheck` base class contains three helpful methods that helps you do this.
|
||||
|
||||
- `fail($message)`: will throw the right exception under the hood.
|
||||
- `failIf(bool $condition, string $message)`: will throw the right exception if `$condition` is `true`
|
||||
- `failUnless(bool $condition, string $message)`: will throw the right exception if `$condition` is `false`
|
||||
|
||||
You should register your custom health check in the `health_checks` key of the `backup.php` config file.
|
||||
|
||||
To see an example of a `HealthCheck`, go read the could of the `MaximumAgeInDays` and `MaximumStorageInMegabytes` health checks that are provided by the package.
|
||||
23
vendor/spatie/laravel-backup/docs/monitoring-the-health-of-all-backups/events.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Events
|
||||
weight: 3
|
||||
---
|
||||
|
||||
These events are fired by the monitor.
|
||||
|
||||
## HealthyBackupWasFound
|
||||
|
||||
`Spatie\Backup\Events\HealthyBackupWasFound`
|
||||
|
||||
This event is fired when the monitor deems the backups on a destination filesystem to be healthy.
|
||||
|
||||
It has one public property `$backupDestinationStatus` that contains an instance of `Spatie\Backup\BackupDestination\BackupDestinationsStatus`.
|
||||
|
||||
## UnhealthyBackupWasFound
|
||||
|
||||
`Spatie\Backup\Events\UnhealthyBackupWasFound`
|
||||
|
||||
This event is fired when the monitor deems the backups on a destination filesystem to be unhealthy. It will
|
||||
also be fired if the monitor cannot read from a destination filesystem.
|
||||
|
||||
It has one public property `$backupDestinationStatus` that contains an instance of `Spatie\Backup\BackupDestination\BackupDestinationsStatus`.
|
||||
81
vendor/spatie/laravel-backup/docs/monitoring-the-health-of-all-backups/overview.md
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: Monitoring the health of all backups
|
||||
weight: 1
|
||||
---
|
||||
|
||||
The package can check the health of backups for every application where it is installed. A backup is considered unhealthy if the date of the latest backup is too far in the past to be useful or if the amount of storage space required for all backups is not available.
|
||||
|
||||
## Installation
|
||||
|
||||
We recommend setting up a separate Laravel installation to do the monitoring, preferably on a separate server. This ensures you will be notified of unhealthy backups even if one of the applications you are monitoring is broken.
|
||||
|
||||
We also recommend to use a central storage disk, like s3, for your backups when using the monitoring. You can still use monitoring for local disks but you'll have to add the monitoring to the app which runs the backups.
|
||||
|
||||
To install the monitor follow the regular [installation instructions](/laravel-backup/v5/installation-and-setup).
|
||||
Instead of scheduling the `backup:run` and `backup:clean` commands, you should schedule the monitor command.
|
||||
|
||||
```php
|
||||
//app/Console/Kernel.php
|
||||
|
||||
protected function schedule(Schedule $schedule)
|
||||
{
|
||||
$schedule->command('backup:monitor')->daily()->at('03:00');
|
||||
}
|
||||
```
|
||||
|
||||
If you want, you can still schedule `backup:run` and `backup:clean` to backup the monitoring application itself.
|
||||
|
||||
## Specifying which backups should be monitored
|
||||
|
||||
This is the part of the configuration where you can specify which applications should be monitored and when the monitor should consider the backups of a particular application unhealthy.
|
||||
|
||||
```php
|
||||
//config/backup.php
|
||||
|
||||
/*
|
||||
* In this array you can specify which backups should be monitored.
|
||||
* If a backup does not meet the specified requirements the
|
||||
* UnHealthyBackupWasFound-event will be fired.
|
||||
*/
|
||||
'monitor_backups' => [
|
||||
[
|
||||
'name' => env('APP_NAME'),
|
||||
'disks' => ['s3'],
|
||||
'health_checks' => [
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
[
|
||||
'name' => 'name of the second app',
|
||||
'disks' => ['s3'],
|
||||
'health_checks' => [
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
|
||||
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
|
||||
],
|
||||
],
|
||||
*/
|
||||
],
|
||||
```
|
||||
|
||||
The `MaximumAgeInDays` check will fail if the latest backup is older that the specified amount of days. If you don't need this check, just remove it.
|
||||
|
||||
The `MaximumStorageInMegabytes` check will fail if the total size of your backups is greater that the specified amount of megabytes. If you don't need this check just remove it.
|
||||
|
||||
The `name` of a monitor should match the value you have specified in the `backup.name`-key of the config file in
|
||||
the application that is being backed up.
|
||||
|
||||
## Get notifications of (un)healthy backups
|
||||
|
||||
You can receive notifications when the monitor finds an (un)healthy backup.
|
||||
Read the section on [notifications](/laravel-backup/v6/sending-notifications/overview) to learn more.
|
||||
|
||||
## Checking all backups
|
||||
|
||||
To see the status of all monitored destination filesystems, use this command
|
||||
|
||||
```bash
|
||||
php artisan backup:list
|
||||
```
|
||||
8
vendor/spatie/laravel-backup/docs/questions-and-issues.md
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Questions & issues
|
||||
weight: 6
|
||||
---
|
||||
|
||||
Find yourself stuck using the package? Found a bug? Do you have general questions or suggestions for improving the backup package? Feel free to [create an issue on GitHub](https://github.com/spatie/laravel-backup/issues), we'll try to address it as soon as possible.
|
||||
|
||||
If you've found a bug regarding security please mail [freek@spatie.be](mailto:freek@spatie.be) instead of using the issue tracker.
|
||||
22
vendor/spatie/laravel-backup/docs/requirements.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Requirements
|
||||
weight: 3
|
||||
---
|
||||
|
||||
This backup package requires **PHP 7.3**, with the [ZIP module](http://php.net/manual/en/book.zip.php) and **Laravel 6.0 or higher**. It's not compatible with Windows servers.
|
||||
|
||||
If you are using an older version of Laravel, take a look at one of the previous versions of this package.
|
||||
|
||||
The package needs free disk space where it can create backups. Ensure that you have **at least** as much free space as the total size of the files you want to backup.
|
||||
|
||||
Make sure `mysqldump` is installed on your system if you want to backup MySQL databases.
|
||||
|
||||
Make sure `pg_dump` is installed on your system if you want to backup PostgreSQL databases.
|
||||
|
||||
Make sure `mongodump` is installed on your system if you want to backup Mongo databases.
|
||||
|
||||
To send notifications to Slack you'll need to install `laravel/slack-notification-channel`:
|
||||
|
||||
```bash
|
||||
composer require laravel/slack-notification-channel
|
||||
```
|
||||
4
vendor/spatie/laravel-backup/docs/sending-notifications/_index.md
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Sending notifications
|
||||
weight: 4
|
||||
---
|
||||
62
vendor/spatie/laravel-backup/docs/sending-notifications/adding-extra-notification-channels.md
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
title: Adding extra notification channels
|
||||
weight: 2
|
||||
---
|
||||
|
||||
By default the package send notifications via email or Slack. It's easy to add an extra notification channel such as Telegram or native mobile push notification, etc.
|
||||
|
||||
The Laravel community is awesome. Shortly after Laravel 5.3 was released various developers worked together to create 30+ notification channels. You can view them all on [http://laravel-notification-channels.com](http://laravel-notification-channels.com).
|
||||
|
||||
In the following example we're going to add the Pusher push notifications channel. Other notification drivers can be added in the same way.
|
||||
|
||||
### 1. Install the notification channel driver
|
||||
|
||||
For Pusher Push notifications, require this package
|
||||
|
||||
```php
|
||||
laravel-notification-channels/pusher-push-notifications
|
||||
```
|
||||
|
||||
After composer has pulled in the package, just follow [the installation instructions of the package](https://github.com/laravel-notification-channels#installation) to complete the installation.
|
||||
|
||||
|
||||
### 2. Creating your own custom notification
|
||||
|
||||
Let say you want to be notified via Pusher push notifications when a backup fails. To make this happen you'll need to create your own `BackupFailed` notification class like the one below:
|
||||
|
||||
```php
|
||||
namespace App\Notifications;
|
||||
|
||||
use Spatie\Backup\Notifications\Notifications\BackupHasFailed as BaseNotification;
|
||||
use NotificationChannels\PusherPushNotifications\Message;
|
||||
|
||||
class BackupHasFailed extends BaseNotification
|
||||
{
|
||||
public function toPushNotification($notifiable)
|
||||
{
|
||||
return Message::create()
|
||||
->iOS()
|
||||
->badge(1)
|
||||
->sound('fail')
|
||||
->body("The backup of {$this->applicationName()} to disk {$this->diskName()} has failed");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Register your custom notification in the config file
|
||||
|
||||
The last thing you need to do is register your custom notification in the config file.
|
||||
|
||||
```php
|
||||
// config/backup.php
|
||||
use \NotificationChannels\PusherPushNotifications\Channel as PusherChannel
|
||||
|
||||
...
|
||||
|
||||
'notifications' => [
|
||||
|
||||
'notifications' => [
|
||||
\App\Notifications\BackupHasFailed::class => ['mail', 'slack', PusherChannel::class],
|
||||
...
|
||||
```
|
||||
|
||||
40
vendor/spatie/laravel-backup/docs/sending-notifications/customizing-the-notifiable.md
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Customizing the notifiable
|
||||
weight: 3
|
||||
---
|
||||
|
||||
Laravel's notifications are sent to a notifiable. A notifiable provides configuration values that determine how notifications will be sent.
|
||||
|
||||
By default the package uses this notifiable class: `\Spatie\Backup\Notifications\Notifiable`. This class will read out the config file. All mail notifications will be sent to the mail address specified in the `notifications.mail.to` key of the config file.
|
||||
|
||||
If you use a channel that needs some get some extra information out of the notifiable you can easily extend the default notifiable.
|
||||
|
||||
Here's how that might look like:
|
||||
|
||||
```php
|
||||
namespace App\Notifications;
|
||||
|
||||
use Spatie\Backup\Notifications\Notifiable;
|
||||
|
||||
class BackupNotifiable extends Notifiable
|
||||
{
|
||||
public function routeNotificationForAnotherNotificationChannel()
|
||||
{
|
||||
return config('backup.notifications.another_notification_channel.property');
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Don't forget to register the notifiable in the config file:
|
||||
|
||||
```php
|
||||
// config/backup.php
|
||||
'notifications' => [
|
||||
...
|
||||
|
||||
'notifiable' => App\Notifications\BackupNotifiable::class,
|
||||
```
|
||||
|
||||
|
||||
|
||||
64
vendor/spatie/laravel-backup/docs/sending-notifications/overview.md
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
title: Sending notifications
|
||||
weight: 1
|
||||
---
|
||||
|
||||
The package leverages Laravel's native notifications to let you know that your backups are ok, or not. Out of the box it can send notifications via mail and Slack (for Slack you'll need to require `laravel/slack-notification-channel` in your project).
|
||||
|
||||
## Configuration
|
||||
|
||||
This is the portion of the configuration that will determine when and how notifications will be sent.
|
||||
|
||||
```php
|
||||
//config/backup.php
|
||||
|
||||
/*
|
||||
* You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
|
||||
* For Slack you need to install laravel/slack-notification-channel.
|
||||
*
|
||||
* You can also use your own notification classes, just make sure the class is named after one of
|
||||
* the `Spatie\Backup\Events` classes.
|
||||
*/
|
||||
'notifications' => [
|
||||
|
||||
'notifications' => [
|
||||
\Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => ['mail'],
|
||||
\Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => ['mail'],
|
||||
],
|
||||
|
||||
/*
|
||||
* Here you can specify the notifiable to which the notifications should be sent. The default
|
||||
* notifiable will use the variables specified in this config file.
|
||||
*/
|
||||
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
|
||||
|
||||
'mail' => [
|
||||
'to' => 'your@example.com',
|
||||
|
||||
'from' => [
|
||||
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||
],
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
'webhook_url' => '',
|
||||
|
||||
/*
|
||||
* If this is set to null the default channel of the webhook will be used.
|
||||
*/
|
||||
'channel' => null,
|
||||
|
||||
'username' => null,
|
||||
|
||||
'icon' => null,
|
||||
|
||||
],
|
||||
],
|
||||
|
||||
|
||||
```
|
||||
8
vendor/spatie/laravel-backup/docs/support-us.md
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Support us
|
||||
weight: 2
|
||||
---
|
||||
|
||||
We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).
|
||||
|
||||
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).
|
||||
4
vendor/spatie/laravel-backup/docs/taking-backups/_index.md
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Taking Backups
|
||||
weight: 1
|
||||
---
|
||||
43
vendor/spatie/laravel-backup/docs/taking-backups/events.md
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Events
|
||||
weight: 2
|
||||
---
|
||||
|
||||
These events are fired during the backup process.
|
||||
|
||||
## BackupWasSuccessful
|
||||
|
||||
`Spatie\Backup\Events\BackupWasSuccessful`
|
||||
|
||||
This event is fired when the zip file containing all files that should be backed up has successfully been copied to a destination filesystem.
|
||||
|
||||
It has one public property `$backupDestination` that contains an instance
|
||||
of `Spatie\Backup\BackupDestination\BackupDestination`.
|
||||
|
||||
## BackupHasFailed
|
||||
|
||||
`Spatie\Backup\Events\BackupHasFailed`
|
||||
|
||||
This event will be fired when something goes wrong while backing up.
|
||||
|
||||
It has two public properties:
|
||||
|
||||
- `$exception`: an object that extends PHP's `Exception` class. It is highly likely that `$exception->getMessage()` will return more information on what went wrong.
|
||||
|
||||
- `$backupDestination`: if this is `null` then something probably went wrong zipping the files. If it's an instance of `Spatie\Backup\BackupDestination\BackupDestination` then something went wrong copying the zip over to the backup destination.
|
||||
|
||||
## BackupManifestWasCreated
|
||||
|
||||
`Spatie\Backup\Events\BackupManifestWasCreated`
|
||||
|
||||
Internally the package will build up a manifest of files. This manifest contains the dumps of the databases and any files that are selected for backup. All the files in the manifest will be zipped.
|
||||
|
||||
It has one public property `$manifest` which is an instance of `Spatie\Backup\Tasks\Backup\Manifest`
|
||||
|
||||
## BackupZipWasCreated
|
||||
|
||||
`Spatie\Backup\Events\BackupZipWasCreated`
|
||||
|
||||
This event will be fired right after the zipfile - containing the dumps of the databases and any files that were selected for backup - is created, and before that zip will get copied over to the backup destination(s). You can use this event to do last minute manipulations on the created zip file.
|
||||
|
||||
It has one public method `$pathToZip` which contains a path to the created zipfile.
|
||||
154
vendor/spatie/laravel-backup/docs/taking-backups/overview.md
vendored
Normal file
@@ -0,0 +1,154 @@
|
||||
---
|
||||
title: Taking backups
|
||||
weight: 1
|
||||
---
|
||||
|
||||
You can backup your app by running:
|
||||
|
||||
```bash
|
||||
php artisan backup:run
|
||||
```
|
||||
|
||||
If you want to backup to a specific disk instead of all disks, run:
|
||||
|
||||
```bash
|
||||
php artisan backup:run --only-to-disk=name-of-your-disk
|
||||
```
|
||||
|
||||
If you only need to backup the db, run:
|
||||
|
||||
```bash
|
||||
php artisan backup:run --only-db
|
||||
```
|
||||
|
||||
If you only need to backup the files, and want to skip dumping the databases, run:
|
||||
|
||||
```bash
|
||||
php artisan backup:run --only-files
|
||||
```
|
||||
|
||||
<div class="alert -warning">
|
||||
Be very careful with `--only-db` and `--only-files`. When monitoring backups, the package **does not** make
|
||||
a distinction between full backups and a backup which only contains files or databases. It may be the case that you will not be able to recover from a partial backup.
|
||||
</div>
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
### Determining the content of the backup
|
||||
|
||||
This section of the configuration determines which files and databases will be backed up. Most options should be self explanatory.
|
||||
|
||||
```php
|
||||
'backup' => [
|
||||
|
||||
/*
|
||||
* The name of this application. You can use this name to monitor
|
||||
* the backups.
|
||||
*/
|
||||
'name' => env('APP_NAME', 'laravel-backup'),
|
||||
|
||||
'source' => [
|
||||
|
||||
'files' => [
|
||||
|
||||
/*
|
||||
* The list of directories and files that will be included in the backup.
|
||||
*/
|
||||
'include' => [
|
||||
base_path(),
|
||||
],
|
||||
|
||||
/*
|
||||
* These directories and files will be excluded from the backup.
|
||||
*/
|
||||
'exclude' => [
|
||||
base_path('vendor'),
|
||||
base_path('node_modules'),
|
||||
],
|
||||
|
||||
/*
|
||||
* Determines if symlinks should be followed.
|
||||
*/
|
||||
'follow_links' => false,
|
||||
|
||||
/*
|
||||
* This path is used to make directories in resulting zip-file relative
|
||||
* Set to false to include complete absolute path
|
||||
* Example: base_path()
|
||||
*/
|
||||
'relative_path' => false,
|
||||
],
|
||||
|
||||
/*
|
||||
* The names of the connections to the databases that should be backed up
|
||||
* MySQL, PostgreSQL, SQLite and Mongo databases are supported.
|
||||
*/
|
||||
'databases' => [
|
||||
'mysql',
|
||||
],
|
||||
],
|
||||
|
||||
'destination' => [
|
||||
|
||||
/*
|
||||
* The disk names on which the backups will be stored.
|
||||
*/
|
||||
'disks' => [
|
||||
'local',
|
||||
],
|
||||
],
|
||||
]
|
||||
```
|
||||
|
||||
The specified databases will be dumped and, together with the selected files, zipped. The zip file will be named`<specified name in configuration>/<Y-m-d-H-i-s>.zip`.
|
||||
|
||||
The more files you need to backup, the bigger the zip will become. Make sure there's enough free space on your disk to create the zip file. After the source zip file has been copied to all destinations, it will be deleted.
|
||||
|
||||
### Determining the destination of the backup
|
||||
|
||||
The zipped backup can be copied to one or more filesystems. This section of the configuration is where you specify those destination filesystems.
|
||||
|
||||
```php
|
||||
'destination' => [
|
||||
|
||||
/*
|
||||
* The disk names on which the backups will be stored.
|
||||
*/
|
||||
'disks' => [
|
||||
'local'
|
||||
],
|
||||
],
|
||||
```
|
||||
|
||||
The default value of `config('backup.destination.disks')` is an array with only one key: `local`. Beware! If you only use the local disk to take backups and that disk crashes you will have nothing left but tears. Having a backup is not the same as having a backup strategy!
|
||||
|
||||
We highly recommend that you configure some extra disks in `app/config/filesystems.php` and add them as destination filesystems for the backup. Those disks should use external servers or services (such as S3 or Dropbox).
|
||||
|
||||
If you need to pass extra options to the underlying Flysystem driver of the disk, you can do so by adding a `backup_options` array to the configuration of that disk. In most cases this is not needed.
|
||||
|
||||
```php
|
||||
// in config filesystems.php
|
||||
|
||||
return [
|
||||
|
||||
// ..
|
||||
|
||||
'disks' => [
|
||||
's3' => [
|
||||
'driver' => 's3',
|
||||
// ...
|
||||
'backup_options' => [
|
||||
// add extra options here
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
```
|
||||
|
||||
If something goes wrong copying the zip file to one filesystem, the package will still try to copy zipped backup to all other configured filesystems.
|
||||
|
||||
## Get notifications when a backup goes wrong
|
||||
|
||||
You can receive a notification when a backup goes wrong. Read
|
||||
the section on [notifications](/laravel-backup/v6/sending-notifications/overview) to find out more.
|
||||
35
vendor/spatie/laravel-backup/resources/lang/ar/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'رسالة استثناء: :message',
|
||||
'exception_trace' => 'تتبع الإستثناء: :trace',
|
||||
'exception_message_title' => 'رسالة استثناء',
|
||||
'exception_trace_title' => 'تتبع الإستثناء',
|
||||
|
||||
'backup_failed_subject' => 'أخفق النسخ الاحتياطي لل :application_name',
|
||||
'backup_failed_body' => 'مهم: حدث خطأ أثناء النسخ الاحتياطي :application_name',
|
||||
|
||||
'backup_successful_subject' => 'نسخ احتياطي جديد ناجح ل :application_name',
|
||||
'backup_successful_subject_title' => 'نجاح النسخ الاحتياطي الجديد!',
|
||||
'backup_successful_body' => 'أخبار عظيمة، نسخة احتياطية جديدة ل :application_name تم إنشاؤها بنجاح على القرص المسمى :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'فشل تنظيف النسخ الاحتياطي للتطبيق :application_name .',
|
||||
'cleanup_failed_body' => 'حدث خطأ أثناء تنظيف النسخ الاحتياطية ل :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'تنظيف النسخ الاحتياطية ل :application_name تمت بنجاح',
|
||||
'cleanup_successful_subject_title' => 'تنظيف النسخ الاحتياطية تم بنجاح!',
|
||||
'cleanup_successful_body' => 'تنظيف النسخ الاحتياطية ل :application_name على القرص المسمى :disk_name تم بنجاح.',
|
||||
|
||||
'healthy_backup_found_subject' => 'النسخ الاحتياطية ل :application_name على القرص :disk_name صحية',
|
||||
'healthy_backup_found_subject_title' => 'النسخ الاحتياطية ل :application_name صحية',
|
||||
'healthy_backup_found_body' => 'تعتبر النسخ الاحتياطية ل :application_name صحية. عمل جيد!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'مهم: النسخ الاحتياطية ل :application_name غير صحية',
|
||||
'unhealthy_backup_found_subject_title' => 'مهم: النسخ الاحتياطية ل :application_name غير صحية. :problem',
|
||||
'unhealthy_backup_found_body' => 'النسخ الاحتياطية ل :application_name على القرص :disk_name غير صحية.',
|
||||
'unhealthy_backup_found_not_reachable' => 'لا يمكن الوصول إلى وجهة النسخ الاحتياطي. :error',
|
||||
'unhealthy_backup_found_empty' => 'لا توجد نسخ احتياطية لهذا التطبيق على الإطلاق.',
|
||||
'unhealthy_backup_found_old' => 'تم إنشاء أحدث النسخ الاحتياطية في :date وتعتبر قديمة جدا.',
|
||||
'unhealthy_backup_found_unknown' => 'عذرا، لا يمكن تحديد سبب دقيق.',
|
||||
'unhealthy_backup_found_full' => 'النسخ الاحتياطية تستخدم الكثير من التخزين. الاستخدام الحالي هو :disk_usage وهو أعلى من الحد المسموح به من :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/cs/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Zpráva výjimky: :message',
|
||||
'exception_trace' => 'Stopa výjimky: :trace',
|
||||
'exception_message_title' => 'Zpráva výjimky',
|
||||
'exception_trace_title' => 'Stopa výjimky',
|
||||
|
||||
'backup_failed_subject' => 'Záloha :application_name neuspěla',
|
||||
'backup_failed_body' => 'Důležité: Při záloze :application_name se vyskytla chyba',
|
||||
|
||||
'backup_successful_subject' => 'Úspěšná nová záloha :application_name',
|
||||
'backup_successful_subject_title' => 'Úspěšná nová záloha!',
|
||||
'backup_successful_body' => 'Dobrá zpráva, na disku jménem :disk_name byla úspěšně vytvořena nová záloha :application_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Vyčištění záloh :application_name neuspělo.',
|
||||
'cleanup_failed_body' => 'Při vyčištění záloh :application_name se vyskytla chyba',
|
||||
|
||||
'cleanup_successful_subject' => 'Vyčištění záloh :application_name úspěšné',
|
||||
'cleanup_successful_subject_title' => 'Vyčištění záloh bylo úspěšné!',
|
||||
'cleanup_successful_body' => 'Vyčištění záloh :application_name na disku jménem :disk_name bylo úspěšné.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Zálohy pro :application_name na disku :disk_name jsou zdravé',
|
||||
'healthy_backup_found_subject_title' => 'Zálohy pro :application_name jsou zdravé',
|
||||
'healthy_backup_found_body' => 'Zálohy pro :application_name jsou považovány za zdravé. Dobrá práce!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Důležité: Zálohy pro :application_name jsou nezdravé',
|
||||
'unhealthy_backup_found_subject_title' => 'Důležité: Zálohy pro :application_name jsou nezdravé. :problem',
|
||||
'unhealthy_backup_found_body' => 'Zálohy pro :application_name na disku :disk_name Jsou nezdravé.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Nelze se dostat k cíli zálohy. :error',
|
||||
'unhealthy_backup_found_empty' => 'Tato aplikace nemá vůbec žádné zálohy.',
|
||||
'unhealthy_backup_found_old' => 'Poslední záloha vytvořená dne :date je považována za příliš starou.',
|
||||
'unhealthy_backup_found_unknown' => 'Omlouváme se, nemůžeme určit přesný důvod.',
|
||||
'unhealthy_backup_found_full' => 'Zálohy zabírají příliš mnoho místa na disku. Aktuální využití disku je :disk_usage, což je vyšší než povolený limit :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/da/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Fejlbesked: :message',
|
||||
'exception_trace' => 'Fejl trace: :trace',
|
||||
'exception_message_title' => 'Fejlbesked',
|
||||
'exception_trace_title' => 'Fejl trace',
|
||||
|
||||
'backup_failed_subject' => 'Backup af :application_name fejlede',
|
||||
'backup_failed_body' => 'Vigtigt: Der skete en fejl under backup af :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Ny backup af :application_name oprettet',
|
||||
'backup_successful_subject_title' => 'Ny backup!',
|
||||
'backup_successful_body' => 'Gode nyheder - der blev oprettet en ny backup af :application_name på disken :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Oprydning af backups for :application_name fejlede.',
|
||||
'cleanup_failed_body' => 'Der skete en fejl under oprydning af backups for :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Oprydning af backups for :application_name gennemført',
|
||||
'cleanup_successful_subject_title' => 'Backup oprydning gennemført!',
|
||||
'cleanup_successful_body' => 'Oprydningen af backups for :application_name på disken :disk_name er gennemført.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Alle backups for :application_name på disken :disk_name er OK',
|
||||
'healthy_backup_found_subject_title' => 'Alle backups for :application_name er OK',
|
||||
'healthy_backup_found_body' => 'Alle backups for :application_name er ok. Godt gået!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Vigtigt: Backups for :application_name fejlbehæftede',
|
||||
'unhealthy_backup_found_subject_title' => 'Vigtigt: Backups for :application_name er fejlbehæftede. :problem',
|
||||
'unhealthy_backup_found_body' => 'Backups for :application_name på disken :disk_name er fejlbehæftede.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Backup destinationen kunne ikke findes. :error',
|
||||
'unhealthy_backup_found_empty' => 'Denne applikation har ingen backups overhovedet.',
|
||||
'unhealthy_backup_found_old' => 'Den seneste backup fra :date er for gammel.',
|
||||
'unhealthy_backup_found_unknown' => 'Beklager, en præcis årsag kunne ikke findes.',
|
||||
'unhealthy_backup_found_full' => 'Backups bruger for meget plads. Nuværende disk forbrug er :disk_usage, hvilket er mere end den tilladte grænse på :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/de/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Fehlermeldung: :message',
|
||||
'exception_trace' => 'Fehlerverfolgung: :trace',
|
||||
'exception_message_title' => 'Fehlermeldung',
|
||||
'exception_trace_title' => 'Fehlerverfolgung',
|
||||
|
||||
'backup_failed_subject' => 'Backup von :application_name konnte nicht erstellt werden',
|
||||
'backup_failed_body' => 'Wichtig: Beim Backup von :application_name ist ein Fehler aufgetreten',
|
||||
|
||||
'backup_successful_subject' => 'Erfolgreiches neues Backup von :application_name',
|
||||
'backup_successful_subject_title' => 'Erfolgreiches neues Backup!',
|
||||
'backup_successful_body' => 'Gute Nachrichten, ein neues Backup von :application_name wurde erfolgreich erstellt und in :disk_name gepeichert.',
|
||||
|
||||
'cleanup_failed_subject' => 'Aufräumen der Backups von :application_name schlug fehl.',
|
||||
'cleanup_failed_body' => 'Beim aufräumen der Backups von :application_name ist ein Fehler aufgetreten',
|
||||
|
||||
'cleanup_successful_subject' => 'Aufräumen der Backups von :application_name backups erfolgreich',
|
||||
'cleanup_successful_subject_title' => 'Aufräumen der Backups erfolgreich!',
|
||||
'cleanup_successful_body' => 'Aufräumen der Backups von :application_name in :disk_name war erfolgreich.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Die Backups von :application_name in :disk_name sind gesund',
|
||||
'healthy_backup_found_subject_title' => 'Die Backups von :application_name sind Gesund',
|
||||
'healthy_backup_found_body' => 'Die Backups von :application_name wurden als gesund eingestuft. Gute Arbeit!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Wichtig: Die Backups für :application_name sind nicht gesund',
|
||||
'unhealthy_backup_found_subject_title' => 'Wichtig: Die Backups für :application_name sind ungesund. :problem',
|
||||
'unhealthy_backup_found_body' => 'Die Backups für :application_name in :disk_name sind ungesund.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Das Backup Ziel konnte nicht erreicht werden. :error',
|
||||
'unhealthy_backup_found_empty' => 'Es gibt für die Anwendung noch gar keine Backups.',
|
||||
'unhealthy_backup_found_old' => 'Das letzte Backup am :date ist zu lange her.',
|
||||
'unhealthy_backup_found_unknown' => 'Sorry, ein genauer Grund konnte nicht gefunden werden.',
|
||||
'unhealthy_backup_found_full' => 'Die Backups verbrauchen zu viel Platz. Aktuell wird :disk_usage belegt, dass ist höher als das erlaubte Limit von :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/en/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Exception message: :message',
|
||||
'exception_trace' => 'Exception trace: :trace',
|
||||
'exception_message_title' => 'Exception message',
|
||||
'exception_trace_title' => 'Exception trace',
|
||||
|
||||
'backup_failed_subject' => 'Failed backup of :application_name',
|
||||
'backup_failed_body' => 'Important: An error occurred while backing up :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Successful new backup of :application_name',
|
||||
'backup_successful_subject_title' => 'Successful new backup!',
|
||||
'backup_successful_body' => 'Great news, a new backup of :application_name was successfully created on the disk named :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Cleaning up the backups of :application_name failed.',
|
||||
'cleanup_failed_body' => 'An error occurred while cleaning up the backups of :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Clean up of :application_name backups successful',
|
||||
'cleanup_successful_subject_title' => 'Clean up of backups successful!',
|
||||
'cleanup_successful_body' => 'The clean up of the :application_name backups on the disk named :disk_name was successful.',
|
||||
|
||||
'healthy_backup_found_subject' => 'The backups for :application_name on disk :disk_name are healthy',
|
||||
'healthy_backup_found_subject_title' => 'The backups for :application_name are healthy',
|
||||
'healthy_backup_found_body' => 'The backups for :application_name are considered healthy. Good job!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Important: The backups for :application_name are unhealthy',
|
||||
'unhealthy_backup_found_subject_title' => 'Important: The backups for :application_name are unhealthy. :problem',
|
||||
'unhealthy_backup_found_body' => 'The backups for :application_name on disk :disk_name are unhealthy.',
|
||||
'unhealthy_backup_found_not_reachable' => 'The backup destination cannot be reached. :error',
|
||||
'unhealthy_backup_found_empty' => 'There are no backups of this application at all.',
|
||||
'unhealthy_backup_found_old' => 'The latest backup made on :date is considered too old.',
|
||||
'unhealthy_backup_found_unknown' => 'Sorry, an exact reason cannot be determined.',
|
||||
'unhealthy_backup_found_full' => 'The backups are using too much storage. Current usage is :disk_usage which is higher than the allowed limit of :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/es/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Mensaje de la excepción: :message',
|
||||
'exception_trace' => 'Traza de la excepción: :trace',
|
||||
'exception_message_title' => 'Mensaje de la excepción',
|
||||
'exception_trace_title' => 'Traza de la excepción',
|
||||
|
||||
'backup_failed_subject' => 'Copia de seguridad de :application_name fallida',
|
||||
'backup_failed_body' => 'Importante: Ocurrió un error al realizar la copia de seguridad de :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Se completó con éxito la copia de seguridad de :application_name',
|
||||
'backup_successful_subject_title' => '¡Nueva copia de seguridad creada con éxito!',
|
||||
'backup_successful_body' => 'Buenas noticias, una nueva copia de seguridad de :application_name fue creada con éxito en el disco llamado :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'La limpieza de copias de seguridad de :application_name falló.',
|
||||
'cleanup_failed_body' => 'Ocurrió un error mientras se realizaba la limpieza de copias de seguridad de :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'La limpieza de copias de seguridad de :application_name se completó con éxito',
|
||||
'cleanup_successful_subject_title' => '!Limpieza de copias de seguridad completada con éxito!',
|
||||
'cleanup_successful_body' => 'La limpieza de copias de seguridad de :application_name en el disco llamado :disk_name se completo con éxito.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Las copias de seguridad de :application_name en el disco :disk_name están en buen estado',
|
||||
'healthy_backup_found_subject_title' => 'Las copias de seguridad de :application_name están en buen estado',
|
||||
'healthy_backup_found_body' => 'Las copias de seguridad de :application_name se consideran en buen estado. ¡Buen trabajo!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Importante: Las copias de seguridad de :application_name están en mal estado',
|
||||
'unhealthy_backup_found_subject_title' => 'Importante: Las copias de seguridad de :application_name están en mal estado. :problem',
|
||||
'unhealthy_backup_found_body' => 'Las copias de seguridad de :application_name en el disco :disk_name están en mal estado.',
|
||||
'unhealthy_backup_found_not_reachable' => 'No se puede acceder al destino de la copia de seguridad. :error',
|
||||
'unhealthy_backup_found_empty' => 'No existe ninguna copia de seguridad de esta aplicación.',
|
||||
'unhealthy_backup_found_old' => 'La última copia de seguriad hecha en :date es demasiado antigua.',
|
||||
'unhealthy_backup_found_unknown' => 'Lo siento, no es posible determinar la razón exacta.',
|
||||
'unhealthy_backup_found_full' => 'Las copias de seguridad están ocupando demasiado espacio. El espacio utilizado actualmente es :disk_usage el cual es mayor que el límite permitido de :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/fa/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'پیغام خطا: :message',
|
||||
'exception_trace' => 'جزییات خطا: :trace',
|
||||
'exception_message_title' => 'پیغام خطا',
|
||||
'exception_trace_title' => 'جزییات خطا',
|
||||
|
||||
'backup_failed_subject' => 'پشتیبانگیری :application_name با خطا مواجه شد.',
|
||||
'backup_failed_body' => 'پیغام مهم: هنگام پشتیبانگیری از :application_name خطایی رخ داده است. ',
|
||||
|
||||
'backup_successful_subject' => 'نسخه پشتیبان جدید :application_name با موفقیت ساخته شد.',
|
||||
'backup_successful_subject_title' => 'پشتیبانگیری موفق!',
|
||||
'backup_successful_body' => 'خبر خوب, به تازگی نسخه پشتیبان :application_name بر روی دیسک :disk_name با موفقیت ساخته شد. ',
|
||||
|
||||
'cleanup_failed_subject' => 'پاکسازی نسخه پشتیبان :application_name انجام نشد.',
|
||||
'cleanup_failed_body' => 'هنگام پاکسازی نسخه پشتیبان :application_name خطایی رخ داده است.',
|
||||
|
||||
'cleanup_successful_subject' => 'پاکسازی نسخه پشتیبان :application_name با موفقیت انجام شد.',
|
||||
'cleanup_successful_subject_title' => 'پاکسازی نسخه پشتیبان!',
|
||||
'cleanup_successful_body' => 'پاکسازی نسخه پشتیبان :application_name بر روی دیسک :disk_name با موفقیت انجام شد.',
|
||||
|
||||
'healthy_backup_found_subject' => 'نسخه پشتیبان :application_name بر روی دیسک :disk_name سالم بود.',
|
||||
'healthy_backup_found_subject_title' => 'نسخه پشتیبان :application_name سالم بود.',
|
||||
'healthy_backup_found_body' => 'نسخه پشتیبان :application_name به نظر سالم میاد. دمت گرم!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'خبر مهم: نسخه پشتیبان :application_name سالم نبود.',
|
||||
'unhealthy_backup_found_subject_title' => 'خبر مهم: نسخه پشتیبان :application_name سالم نبود. :problem',
|
||||
'unhealthy_backup_found_body' => 'نسخه پشتیبان :application_name بر روی دیسک :disk_name سالم نبود.',
|
||||
'unhealthy_backup_found_not_reachable' => 'مقصد پشتیبانگیری در دسترس نبود. :error',
|
||||
'unhealthy_backup_found_empty' => 'برای این برنامه هیچ نسخه پشتیبانی وجود ندارد.',
|
||||
'unhealthy_backup_found_old' => 'آخرین نسخه پشتیبان برای تاریخ :date است. که به نظر خیلی قدیمی میاد. ',
|
||||
'unhealthy_backup_found_unknown' => 'متاسفانه دلیل دقیق مشخص نشده است.',
|
||||
'unhealthy_backup_found_full' => 'نسخههای پشتیبانی که تهیه کرده اید حجم زیادی اشغال کرده اند. میزان دیسک استفاده شده :disk_usage است که از میزان مجاز :disk_limit فراتر رفته است. ',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/fi/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Virheilmoitus: :message',
|
||||
'exception_trace' => 'Virhe, jäljitys: :trace',
|
||||
'exception_message_title' => 'Virheilmoitus',
|
||||
'exception_trace_title' => 'Virheen jäljitys',
|
||||
|
||||
'backup_failed_subject' => ':application_name varmuuskopiointi epäonnistui',
|
||||
'backup_failed_body' => 'HUOM!: :application_name varmuuskoipionnissa tapahtui virhe',
|
||||
|
||||
'backup_successful_subject' => ':application_name varmuuskopioitu onnistuneesti',
|
||||
'backup_successful_subject_title' => 'Uusi varmuuskopio!',
|
||||
'backup_successful_body' => 'Hyviä uutisia! :application_name on varmuuskopioitu levylle :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => ':application_name varmuuskopioiden poistaminen epäonnistui.',
|
||||
'cleanup_failed_body' => ':application_name varmuuskopioiden poistamisessa tapahtui virhe.',
|
||||
|
||||
'cleanup_successful_subject' => ':application_name varmuuskopiot poistettu onnistuneesti',
|
||||
'cleanup_successful_subject_title' => 'Varmuuskopiot poistettu onnistuneesti!',
|
||||
'cleanup_successful_body' => ':application_name varmuuskopiot poistettu onnistuneesti levyltä :disk_name.',
|
||||
|
||||
'healthy_backup_found_subject' => ':application_name varmuuskopiot levyllä :disk_name ovat kunnossa',
|
||||
'healthy_backup_found_subject_title' => ':application_name varmuuskopiot ovat kunnossa',
|
||||
'healthy_backup_found_body' => ':application_name varmuuskopiot ovat kunnossa. Hieno homma!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'HUOM!: :application_name varmuuskopiot ovat vialliset',
|
||||
'unhealthy_backup_found_subject_title' => 'HUOM!: :application_name varmuuskopiot ovat vialliset. :problem',
|
||||
'unhealthy_backup_found_body' => ':application_name varmuuskopiot levyllä :disk_name ovat vialliset.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Varmuuskopioiden kohdekansio ei ole saatavilla. :error',
|
||||
'unhealthy_backup_found_empty' => 'Tästä sovelluksesta ei ole varmuuskopioita.',
|
||||
'unhealthy_backup_found_old' => 'Viimeisin varmuuskopio, luotu :date, on liian vanha.',
|
||||
'unhealthy_backup_found_unknown' => 'Virhe, tarkempaa tietoa syystä ei valitettavasti ole saatavilla.',
|
||||
'unhealthy_backup_found_full' => 'Varmuuskopiot vievät liikaa levytilaa. Tällä hetkellä käytössä :disk_usage, mikä on suurempi kuin sallittu tilavuus (:disk_limit).',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/fr/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Message de l\'exception : :message',
|
||||
'exception_trace' => 'Trace de l\'exception : :trace',
|
||||
'exception_message_title' => 'Message de l\'exception',
|
||||
'exception_trace_title' => 'Trace de l\'exception',
|
||||
|
||||
'backup_failed_subject' => 'Échec de la sauvegarde de :application_name',
|
||||
'backup_failed_body' => 'Important : Une erreur est survenue lors de la sauvegarde de :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Succès de la sauvegarde de :application_name',
|
||||
'backup_successful_subject_title' => 'Sauvegarde créée avec succès !',
|
||||
'backup_successful_body' => 'Bonne nouvelle, une nouvelle sauvegarde de :application_name a été créée avec succès sur le disque nommé :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Le nettoyage des sauvegardes de :application_name a echoué.',
|
||||
'cleanup_failed_body' => 'Une erreur est survenue lors du nettoyage des sauvegardes de :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Succès du nettoyage des sauvegardes de :application_name',
|
||||
'cleanup_successful_subject_title' => 'Sauvegardes nettoyées avec succès !',
|
||||
'cleanup_successful_body' => 'Le nettoyage des sauvegardes de :application_name sur le disque nommé :disk_name a été effectué avec succès.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Les sauvegardes pour :application_name sur le disque :disk_name sont saines',
|
||||
'healthy_backup_found_subject_title' => 'Les sauvegardes pour :application_name sont saines',
|
||||
'healthy_backup_found_body' => 'Les sauvegardes pour :application_name sont considérées saines. Bon travail !',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Important : Les sauvegardes pour :application_name sont corrompues',
|
||||
'unhealthy_backup_found_subject_title' => 'Important : Les sauvegardes pour :application_name sont corrompues. :problem',
|
||||
'unhealthy_backup_found_body' => 'Les sauvegardes pour :application_name sur le disque :disk_name sont corrompues.',
|
||||
'unhealthy_backup_found_not_reachable' => 'La destination de la sauvegarde n\'est pas accessible. :error',
|
||||
'unhealthy_backup_found_empty' => 'Il n\'y a aucune sauvegarde pour cette application.',
|
||||
'unhealthy_backup_found_old' => 'La dernière sauvegarde du :date est considérée trop vieille.',
|
||||
'unhealthy_backup_found_unknown' => 'Désolé, une raison exacte ne peut être déterminée.',
|
||||
'unhealthy_backup_found_full' => 'Les sauvegardes utilisent trop d\'espace disque. L\'utilisation actuelle est de :disk_usage alors que la limite autorisée est de :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/hi/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'गलती संदेश: :message',
|
||||
'exception_trace' => 'गलती निशान: :trace',
|
||||
'exception_message_title' => 'गलती संदेश',
|
||||
'exception_trace_title' => 'गलती निशान',
|
||||
|
||||
'backup_failed_subject' => ':application_name का बैकअप असफल रहा',
|
||||
'backup_failed_body' => 'जरूरी सुचना: :application_name का बैकअप लेते समय असफल रहे',
|
||||
|
||||
'backup_successful_subject' => ':application_name का बैकअप सफल रहा',
|
||||
'backup_successful_subject_title' => 'बैकअप सफल रहा!',
|
||||
'backup_successful_body' => 'खुशखबरी, :application_name का बैकअप :disk_name पर संग्रहित करने मे सफल रहे.',
|
||||
|
||||
'cleanup_failed_subject' => ':application_name के बैकअप की सफाई असफल रही.',
|
||||
'cleanup_failed_body' => ':application_name के बैकअप की सफाई करते समय कुछ बाधा आयी है.',
|
||||
|
||||
'cleanup_successful_subject' => ':application_name के बैकअप की सफाई सफल रही',
|
||||
'cleanup_successful_subject_title' => 'बैकअप की सफाई सफल रही!',
|
||||
'cleanup_successful_body' => ':application_name का बैकअप जो :disk_name नाम की डिस्क पर संग्रहित है, उसकी सफाई सफल रही.',
|
||||
|
||||
'healthy_backup_found_subject' => ':disk_name नाम की डिस्क पर संग्रहित :application_name के बैकअप स्वस्थ है',
|
||||
'healthy_backup_found_subject_title' => ':application_name के सभी बैकअप स्वस्थ है',
|
||||
'healthy_backup_found_body' => 'बहुत बढ़िया! :application_name के सभी बैकअप स्वस्थ है.',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'जरूरी सुचना : :application_name के बैकअप अस्वस्थ है',
|
||||
'unhealthy_backup_found_subject_title' => 'जरूरी सुचना : :application_name के बैकअप :problem के बजेसे अस्वस्थ है',
|
||||
'unhealthy_backup_found_body' => ':disk_name नाम की डिस्क पर संग्रहित :application_name के बैकअप अस्वस्थ है',
|
||||
'unhealthy_backup_found_not_reachable' => ':error के बजेसे बैकअप की मंजिल तक पोहोच नहीं सकते.',
|
||||
'unhealthy_backup_found_empty' => 'इस एप्लीकेशन का कोई भी बैकअप नहीं है.',
|
||||
'unhealthy_backup_found_old' => 'हालहीमें :date को लिया हुआ बैकअप बहुत पुराना है.',
|
||||
'unhealthy_backup_found_unknown' => 'माफ़ कीजिये, सही कारण निर्धारित नहीं कर सकते.',
|
||||
'unhealthy_backup_found_full' => 'सभी बैकअप बहुत ज्यादा जगह का उपयोग कर रहे है. फ़िलहाल सभी बैकअप :disk_usage जगह का उपयोग कर रहे है, जो की :disk_limit अनुमति सीमा से अधिक का है.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/id/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Pesan pengecualian: :message',
|
||||
'exception_trace' => 'Jejak pengecualian: :trace',
|
||||
'exception_message_title' => 'Pesan pengecualian',
|
||||
'exception_trace_title' => 'Jejak pengecualian',
|
||||
|
||||
'backup_failed_subject' => 'Gagal backup :application_name',
|
||||
'backup_failed_body' => 'Penting: Sebuah error terjadi ketika membackup :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Backup baru sukses dari :application_name',
|
||||
'backup_successful_subject_title' => 'Backup baru sukses!',
|
||||
'backup_successful_body' => 'Kabar baik, sebuah backup baru dari :application_name sukses dibuat pada disk bernama :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Membersihkan backup dari :application_name yang gagal.',
|
||||
'cleanup_failed_body' => 'Sebuah error teradi ketika membersihkan backup dari :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Sukses membersihkan backup :application_name',
|
||||
'cleanup_successful_subject_title' => 'Sukses membersihkan backup!',
|
||||
'cleanup_successful_body' => 'Pembersihan backup :application_name pada disk bernama :disk_name telah sukses.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Backup untuk :application_name pada disk :disk_name sehat',
|
||||
'healthy_backup_found_subject_title' => 'Backup untuk :application_name sehat',
|
||||
'healthy_backup_found_body' => 'Backup untuk :application_name dipertimbangkan sehat. Kerja bagus!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Penting: Backup untuk :application_name tidak sehat',
|
||||
'unhealthy_backup_found_subject_title' => 'Penting: Backup untuk :application_name tidak sehat. :problem',
|
||||
'unhealthy_backup_found_body' => 'Backup untuk :application_name pada disk :disk_name tidak sehat.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Tujuan backup tidak dapat terjangkau. :error',
|
||||
'unhealthy_backup_found_empty' => 'Tidak ada backup pada aplikasi ini sama sekali.',
|
||||
'unhealthy_backup_found_old' => 'Backup terakhir dibuat pada :date dimana dipertimbahkan sudah sangat lama.',
|
||||
'unhealthy_backup_found_unknown' => 'Maaf, sebuah alasan persisnya tidak dapat ditentukan.',
|
||||
'unhealthy_backup_found_full' => 'Backup menggunakan terlalu banyak kapasitas penyimpanan. Penggunaan terkini adalah :disk_usage dimana lebih besar dari batas yang diperbolehkan yaitu :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/it/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Messaggio dell\'eccezione: :message',
|
||||
'exception_trace' => 'Traccia dell\'eccezione: :trace',
|
||||
'exception_message_title' => 'Messaggio dell\'eccezione',
|
||||
'exception_trace_title' => 'Traccia dell\'eccezione',
|
||||
|
||||
'backup_failed_subject' => 'Fallito il backup di :application_name',
|
||||
'backup_failed_body' => 'Importante: Si è verificato un errore durante il backup di :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Creato nuovo backup di :application_name',
|
||||
'backup_successful_subject_title' => 'Nuovo backup creato!',
|
||||
'backup_successful_body' => 'Grande notizia, un nuovo backup di :application_name è stato creato con successo sul disco :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Pulizia dei backup di :application_name fallita.',
|
||||
'cleanup_failed_body' => 'Si è verificato un errore durante la pulizia dei backup di :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Pulizia dei backup di :application_name avvenuta con successo',
|
||||
'cleanup_successful_subject_title' => 'Pulizia dei backup avvenuta con successo!',
|
||||
'cleanup_successful_body' => 'La pulizia dei backup di :application_name sul disco :disk_name è avvenuta con successo.',
|
||||
|
||||
'healthy_backup_found_subject' => 'I backup per :application_name sul disco :disk_name sono sani',
|
||||
'healthy_backup_found_subject_title' => 'I backup per :application_name sono sani',
|
||||
'healthy_backup_found_body' => 'I backup per :application_name sono considerati sani. Bel Lavoro!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Importante: i backup per :application_name sono corrotti',
|
||||
'unhealthy_backup_found_subject_title' => 'Importante: i backup per :application_name sono corrotti. :problem',
|
||||
'unhealthy_backup_found_body' => 'I backup per :application_name sul disco :disk_name sono corrotti.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Impossibile raggiungere la destinazione di backup. :error',
|
||||
'unhealthy_backup_found_empty' => 'Non esiste alcun backup di questa applicazione.',
|
||||
'unhealthy_backup_found_old' => 'L\'ultimo backup fatto il :date è considerato troppo vecchio.',
|
||||
'unhealthy_backup_found_unknown' => 'Spiacenti, non è possibile determinare una ragione esatta.',
|
||||
'unhealthy_backup_found_full' => 'I backup utilizzano troppa memoria. L\'utilizzo corrente è :disk_usage che è superiore al limite consentito di :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/ja/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => '例外のメッセージ: :message',
|
||||
'exception_trace' => '例外の追跡: :trace',
|
||||
'exception_message_title' => '例外のメッセージ',
|
||||
'exception_trace_title' => '例外の追跡',
|
||||
|
||||
'backup_failed_subject' => ':application_name のバックアップに失敗しました。',
|
||||
'backup_failed_body' => '重要: :application_name のバックアップ中にエラーが発生しました。',
|
||||
|
||||
'backup_successful_subject' => ':application_name のバックアップに成功しました。',
|
||||
'backup_successful_subject_title' => 'バックアップに成功しました!',
|
||||
'backup_successful_body' => '朗報です。ディスク :disk_name へ :application_name のバックアップが成功しました。',
|
||||
|
||||
'cleanup_failed_subject' => ':application_name のバックアップ削除に失敗しました。',
|
||||
'cleanup_failed_body' => ':application_name のバックアップ削除中にエラーが発生しました。',
|
||||
|
||||
'cleanup_successful_subject' => ':application_name のバックアップ削除に成功しました。',
|
||||
'cleanup_successful_subject_title' => 'バックアップ削除に成功しました!',
|
||||
'cleanup_successful_body' => 'ディスク :disk_name に保存された :application_name のバックアップ削除に成功しました。',
|
||||
|
||||
'healthy_backup_found_subject' => 'ディスク :disk_name への :application_name のバックアップは正常です。',
|
||||
'healthy_backup_found_subject_title' => ':application_name のバックアップは正常です。',
|
||||
'healthy_backup_found_body' => ':application_name へのバックアップは正常です。いい仕事してますね!',
|
||||
|
||||
'unhealthy_backup_found_subject' => '重要: :application_name のバックアップに異常があります。',
|
||||
'unhealthy_backup_found_subject_title' => '重要: :application_name のバックアップに異常があります。 :problem',
|
||||
'unhealthy_backup_found_body' => ':disk_name への :application_name のバックアップに異常があります。',
|
||||
'unhealthy_backup_found_not_reachable' => 'バックアップ先にアクセスできませんでした。 :error',
|
||||
'unhealthy_backup_found_empty' => 'このアプリケーションのバックアップは見つかりませんでした。',
|
||||
'unhealthy_backup_found_old' => ':date に保存された直近のバックアップが古すぎます。',
|
||||
'unhealthy_backup_found_unknown' => '申し訳ございません。予期せぬエラーです。',
|
||||
'unhealthy_backup_found_full' => 'バックアップがディスク容量を圧迫しています。現在の使用量 :disk_usage は、許可された限界値 :disk_limit を超えています。',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/nl/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Fout bericht: :message',
|
||||
'exception_trace' => 'Fout trace: :trace',
|
||||
'exception_message_title' => 'Fout bericht',
|
||||
'exception_trace_title' => 'Fout trace',
|
||||
|
||||
'backup_failed_subject' => 'Back-up van :application_name mislukt',
|
||||
'backup_failed_body' => 'Belangrijk: Er ging iets fout tijdens het maken van een back-up van :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Succesvolle nieuwe back-up van :application_name',
|
||||
'backup_successful_subject_title' => 'Succesvolle nieuwe back-up!',
|
||||
'backup_successful_body' => 'Goed nieuws, een nieuwe back-up van :application_name was succesvol aangemaakt op de schijf genaamd :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Het opschonen van de back-ups van :application_name is mislukt.',
|
||||
'cleanup_failed_body' => 'Er ging iets fout tijdens het opschonen van de back-ups van :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Opschonen van :application_name back-ups was succesvol.',
|
||||
'cleanup_successful_subject_title' => 'Opschonen van back-ups was succesvol!',
|
||||
'cleanup_successful_body' => 'Het opschonen van de :application_name back-ups op de schijf genaamd :disk_name was succesvol.',
|
||||
|
||||
'healthy_backup_found_subject' => 'De back-ups voor :application_name op schijf :disk_name zijn gezond',
|
||||
'healthy_backup_found_subject_title' => 'De back-ups voor :application_name zijn gezond',
|
||||
'healthy_backup_found_body' => 'De back-ups voor :application_name worden als gezond beschouwd. Goed gedaan!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Belangrijk: De back-ups voor :application_name zijn niet meer gezond',
|
||||
'unhealthy_backup_found_subject_title' => 'Belangrijk: De back-ups voor :application_name zijn niet gezond. :problem',
|
||||
'unhealthy_backup_found_body' => 'De back-ups voor :application_name op schijf :disk_name zijn niet gezond.',
|
||||
'unhealthy_backup_found_not_reachable' => 'De back-upbestemming kon niet worden bereikt. :error',
|
||||
'unhealthy_backup_found_empty' => 'Er zijn geen back-ups van deze applicatie beschikbaar.',
|
||||
'unhealthy_backup_found_old' => 'De laatste back-up gemaakt op :date is te oud.',
|
||||
'unhealthy_backup_found_unknown' => 'Sorry, een exacte reden kon niet worden bepaald.',
|
||||
'unhealthy_backup_found_full' => 'De back-ups gebruiken te veel opslagruimte. Momenteel wordt er :disk_usage gebruikt wat hoger is dan de toegestane limiet van :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/no/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Exception: :message',
|
||||
'exception_trace' => 'Exception trace: :trace',
|
||||
'exception_message_title' => 'Exception',
|
||||
'exception_trace_title' => 'Exception trace',
|
||||
|
||||
'backup_failed_subject' => 'Backup feilet for :application_name',
|
||||
'backup_failed_body' => 'Viktg: En feil oppstod under backing av :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Gjennomført backup av :application_name',
|
||||
'backup_successful_subject_title' => 'Gjennomført backup!',
|
||||
'backup_successful_body' => 'Gode nyheter, en ny backup av :application_name ble opprettet på disken :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Opprydding av backup for :application_name feilet.',
|
||||
'cleanup_failed_body' => 'En feil oppstod under opprydding av backups for :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Opprydding av backup for :application_name gjennomført',
|
||||
'cleanup_successful_subject_title' => 'Opprydding av backup gjennomført!',
|
||||
'cleanup_successful_body' => 'Oppryddingen av backup for :application_name på disken :disk_name har blitt gjennomført.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Alle backups for :application_name på disken :disk_name er OK',
|
||||
'healthy_backup_found_subject_title' => 'Alle backups for :application_name er OK',
|
||||
'healthy_backup_found_body' => 'Alle backups for :application_name er ok. Godt jobba!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Viktig: Backups for :application_name ikke OK',
|
||||
'unhealthy_backup_found_subject_title' => 'Viktig: Backups for :application_name er ikke OK. :problem',
|
||||
'unhealthy_backup_found_body' => 'Backups for :application_name på disken :disk_name er ikke OK.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Kunne ikke finne backup-destinasjonen. :error',
|
||||
'unhealthy_backup_found_empty' => 'Denne applikasjonen mangler backups.',
|
||||
'unhealthy_backup_found_old' => 'Den siste backupem fra :date er for gammel.',
|
||||
'unhealthy_backup_found_unknown' => 'Beklager, kunne ikke finne nøyaktig årsak.',
|
||||
'unhealthy_backup_found_full' => 'Backups bruker for mye lagringsplass. Nåværende diskbruk er :disk_usage, som er mer enn den tillatte grensen på :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/pl/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Błąd: :message',
|
||||
'exception_trace' => 'Zrzut błędu: :trace',
|
||||
'exception_message_title' => 'Błąd',
|
||||
'exception_trace_title' => 'Zrzut błędu',
|
||||
|
||||
'backup_failed_subject' => 'Tworzenie kopii zapasowej aplikacji :application_name nie powiodło się',
|
||||
'backup_failed_body' => 'Ważne: Wystąpił błąd podczas tworzenia kopii zapasowej aplikacji :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Pomyślnie utworzono kopię zapasową aplikacji :application_name',
|
||||
'backup_successful_subject_title' => 'Nowa kopia zapasowa!',
|
||||
'backup_successful_body' => 'Wspaniała wiadomość, nowa kopia zapasowa aplikacji :application_name została pomyślnie utworzona na dysku o nazwie :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Czyszczenie kopii zapasowych aplikacji :application_name nie powiodło się.',
|
||||
'cleanup_failed_body' => 'Wystąpił błąd podczas czyszczenia kopii zapasowej aplikacji :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Kopie zapasowe aplikacji :application_name zostały pomyślnie wyczyszczone',
|
||||
'cleanup_successful_subject_title' => 'Kopie zapasowe zostały pomyślnie wyczyszczone!',
|
||||
'cleanup_successful_body' => 'Czyszczenie kopii zapasowych aplikacji :application_name na dysku :disk_name zakończone sukcesem.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Kopie zapasowe aplikacji :application_name na dysku :disk_name są poprawne',
|
||||
'healthy_backup_found_subject_title' => 'Kopie zapasowe aplikacji :application_name są poprawne',
|
||||
'healthy_backup_found_body' => 'Kopie zapasowe aplikacji :application_name są poprawne. Dobra robota!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Ważne: Kopie zapasowe aplikacji :application_name są niepoprawne',
|
||||
'unhealthy_backup_found_subject_title' => 'Ważne: Kopie zapasowe aplikacji :application_name są niepoprawne. :problem',
|
||||
'unhealthy_backup_found_body' => 'Kopie zapasowe aplikacji :application_name na dysku :disk_name są niepoprawne.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Miejsce docelowe kopii zapasowej nie jest osiągalne. :error',
|
||||
'unhealthy_backup_found_empty' => 'W aplikacji nie ma żadnej kopii zapasowych tej aplikacji.',
|
||||
'unhealthy_backup_found_old' => 'Ostatnia kopia zapasowa wykonania dnia :date jest zbyt stara.',
|
||||
'unhealthy_backup_found_unknown' => 'Niestety, nie można ustalić dokładnego błędu.',
|
||||
'unhealthy_backup_found_full' => 'Kopie zapasowe zajmują zbyt dużo miejsca. Obecne użycie dysku :disk_usage jest większe od ustalonego limitu :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/pt-BR/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Exception message: :message',
|
||||
'exception_trace' => 'Exception trace: :trace',
|
||||
'exception_message_title' => 'Exception message',
|
||||
'exception_trace_title' => 'Exception trace',
|
||||
|
||||
'backup_failed_subject' => 'Falha no backup da aplicação :application_name',
|
||||
'backup_failed_body' => 'Importante: Ocorreu um erro ao fazer o backup da aplicação :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Backup realizado com sucesso: :application_name',
|
||||
'backup_successful_subject_title' => 'Backup Realizado com sucesso!',
|
||||
'backup_successful_body' => 'Boas notícias, um novo backup da aplicação :application_name foi criado no disco :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Falha na limpeza dos backups da aplicação :application_name.',
|
||||
'cleanup_failed_body' => 'Um erro ocorreu ao fazer a limpeza dos backups da aplicação :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Limpeza dos backups da aplicação :application_name concluída!',
|
||||
'cleanup_successful_subject_title' => 'Limpeza dos backups concluída!',
|
||||
'cleanup_successful_body' => 'A limpeza dos backups da aplicação :application_name no disco :disk_name foi concluída.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Os backups da aplicação :application_name no disco :disk_name estão em dia',
|
||||
'healthy_backup_found_subject_title' => 'Os backups da aplicação :application_name estão em dia',
|
||||
'healthy_backup_found_body' => 'Os backups da aplicação :application_name estão em dia. Bom trabalho!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Importante: Os backups da aplicação :application_name não estão em dia',
|
||||
'unhealthy_backup_found_subject_title' => 'Importante: Os backups da aplicação :application_name não estão em dia. :problem',
|
||||
'unhealthy_backup_found_body' => 'Os backups da aplicação :application_name no disco :disk_name não estão em dia.',
|
||||
'unhealthy_backup_found_not_reachable' => 'O destino dos backups não pode ser alcançado. :error',
|
||||
'unhealthy_backup_found_empty' => 'Não existem backups para essa aplicação.',
|
||||
'unhealthy_backup_found_old' => 'O último backup realizado em :date é considerado muito antigo.',
|
||||
'unhealthy_backup_found_unknown' => 'Desculpe, a exata razão não pode ser encontrada.',
|
||||
'unhealthy_backup_found_full' => 'Os backups estão usando muito espaço de armazenamento. A utilização atual é de :disk_usage, o que é maior que o limite permitido de :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/pt/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Exception message: :message',
|
||||
'exception_trace' => 'Exception trace: :trace',
|
||||
'exception_message_title' => 'Exception message',
|
||||
'exception_trace_title' => 'Exception trace',
|
||||
|
||||
'backup_failed_subject' => 'Falha no backup da aplicação :application_name',
|
||||
'backup_failed_body' => 'Importante: Ocorreu um erro ao executar o backup da aplicação :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Backup realizado com sucesso: :application_name',
|
||||
'backup_successful_subject_title' => 'Backup Realizado com Sucesso!',
|
||||
'backup_successful_body' => 'Boas notícias, foi criado um novo backup no disco :disk_name referente à aplicação :application_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Falha na limpeza dos backups da aplicação :application_name.',
|
||||
'cleanup_failed_body' => 'Ocorreu um erro ao executar a limpeza dos backups da aplicação :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Limpeza dos backups da aplicação :application_name concluída!',
|
||||
'cleanup_successful_subject_title' => 'Limpeza dos backups concluída!',
|
||||
'cleanup_successful_body' => 'Concluída a limpeza dos backups da aplicação :application_name no disco :disk_name.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Os backups da aplicação :application_name no disco :disk_name estão em dia',
|
||||
'healthy_backup_found_subject_title' => 'Os backups da aplicação :application_name estão em dia',
|
||||
'healthy_backup_found_body' => 'Os backups da aplicação :application_name estão em dia. Bom trabalho!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Importante: Os backups da aplicação :application_name não estão em dia',
|
||||
'unhealthy_backup_found_subject_title' => 'Importante: Os backups da aplicação :application_name não estão em dia. :problem',
|
||||
'unhealthy_backup_found_body' => 'Os backups da aplicação :application_name no disco :disk_name não estão em dia.',
|
||||
'unhealthy_backup_found_not_reachable' => 'O destino dos backups não pode ser alcançado. :error',
|
||||
'unhealthy_backup_found_empty' => 'Não existem backups para essa aplicação.',
|
||||
'unhealthy_backup_found_old' => 'O último backup realizado em :date é demasiado antigo.',
|
||||
'unhealthy_backup_found_unknown' => 'Desculpe, impossível determinar a razão exata.',
|
||||
'unhealthy_backup_found_full' => 'Os backups estão a utilizar demasiado espaço de armazenamento. A utilização atual é de :disk_usage, o que é maior que o limite permitido de :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/ro/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Cu excepția mesajului: :message',
|
||||
'exception_trace' => 'Urmă excepţie: :trace',
|
||||
'exception_message_title' => 'Mesaj de excepție',
|
||||
'exception_trace_title' => 'Urmă excepţie',
|
||||
|
||||
'backup_failed_subject' => 'Nu s-a putut face copie de rezervă pentru :application_name',
|
||||
'backup_failed_body' => 'Important: A apărut o eroare în timpul generării copiei de rezervă pentru :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Copie de rezervă efectuată cu succes pentru :application_name',
|
||||
'backup_successful_subject_title' => 'O nouă copie de rezervă a fost efectuată cu succes!',
|
||||
'backup_successful_body' => 'Vești bune, o nouă copie de rezervă pentru :application_name a fost creată cu succes pe discul cu numele :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Curățarea copiilor de rezervă pentru :application_name nu a reușit.',
|
||||
'cleanup_failed_body' => 'A apărut o eroare în timpul curățirii copiilor de rezervă pentru :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Curățarea copiilor de rezervă pentru :application_name a fost făcută cu succes',
|
||||
'cleanup_successful_subject_title' => 'Curățarea copiilor de rezervă a fost făcută cu succes!',
|
||||
'cleanup_successful_body' => 'Curățarea copiilor de rezervă pentru :application_name de pe discul cu numele :disk_name a fost făcută cu succes.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Copiile de rezervă pentru :application_name de pe discul :disk_name sunt în regulă',
|
||||
'healthy_backup_found_subject_title' => 'Copiile de rezervă pentru :application_name sunt în regulă',
|
||||
'healthy_backup_found_body' => 'Copiile de rezervă pentru :application_name sunt considerate în regulă. Bună treabă!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Important: Copiile de rezervă pentru :application_name nu sunt în regulă',
|
||||
'unhealthy_backup_found_subject_title' => 'Important: Copiile de rezervă pentru :application_name nu sunt în regulă. :problem',
|
||||
'unhealthy_backup_found_body' => 'Copiile de rezervă pentru :application_name de pe discul :disk_name nu sunt în regulă.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Nu se poate ajunge la destinația copiilor de rezervă. :error',
|
||||
'unhealthy_backup_found_empty' => 'Nu există copii de rezervă ale acestei aplicații.',
|
||||
'unhealthy_backup_found_old' => 'Cea mai recentă copie de rezervă făcută la :date este considerată prea veche.',
|
||||
'unhealthy_backup_found_unknown' => 'Ne pare rău, un motiv exact nu poate fi determinat.',
|
||||
'unhealthy_backup_found_full' => 'Copiile de rezervă folosesc prea mult spațiu de stocare. Utilizarea curentă este de :disk_usage care este mai mare decât limita permisă de :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/ru/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Сообщение об ошибке: :message',
|
||||
'exception_trace' => 'Сведения об ошибке: :trace',
|
||||
'exception_message_title' => 'Сообщение об ошибке',
|
||||
'exception_trace_title' => 'Сведения об ошибке',
|
||||
|
||||
'backup_failed_subject' => 'Не удалось сделать резервную копию :application_name',
|
||||
'backup_failed_body' => 'Внимание: Произошла ошибка во время резервного копирования :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Успешно создана новая резервная копия :application_name',
|
||||
'backup_successful_subject_title' => 'Успешно создана новая резервная копия!',
|
||||
'backup_successful_body' => 'Отличная новость, новая резервная копия :application_name успешно создана и сохранена на диск :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Не удалось очистить резервные копии :application_name',
|
||||
'cleanup_failed_body' => 'Произошла ошибка при очистке резервных копий :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Очистка от резервных копий :application_name прошла успешно',
|
||||
'cleanup_successful_subject_title' => 'Очистка резервных копий прошла удачно!',
|
||||
'cleanup_successful_body' => 'Очистка от старых резервных копий :application_name на диске :disk_name прошла удачно.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Резервная копия :application_name с диска :disk_name установлена',
|
||||
'healthy_backup_found_subject_title' => 'Резервная копия :application_name установлена',
|
||||
'healthy_backup_found_body' => 'Резервная копия :application_name успешно установлена. Хорошая работа!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Внимание: резервная копия :application_name не установилась',
|
||||
'unhealthy_backup_found_subject_title' => 'Внимание: резервная копия для :application_name не установилась. :problem',
|
||||
'unhealthy_backup_found_body' => 'Резервная копия для :application_name на диске :disk_name не установилась.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Резервная копия не смогла установиться. :error',
|
||||
'unhealthy_backup_found_empty' => 'Резервные копии для этого приложения отсутствуют.',
|
||||
'unhealthy_backup_found_old' => 'Последнее резервное копирование создано :date является устаревшим.',
|
||||
'unhealthy_backup_found_unknown' => 'Извините, точная причина не может быть определена.',
|
||||
'unhealthy_backup_found_full' => 'Резервные копии используют слишком много памяти. Используется :disk_usage что выше допустимого предела: :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/tr/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Hata mesajı: :message',
|
||||
'exception_trace' => 'Hata izleri: :trace',
|
||||
'exception_message_title' => 'Hata mesajı',
|
||||
'exception_trace_title' => 'Hata izleri',
|
||||
|
||||
'backup_failed_subject' => 'Yedeklenemedi :application_name',
|
||||
'backup_failed_body' => 'Önemli: Yedeklenirken bir hata oluştu :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Başarılı :application_name yeni yedeklemesi',
|
||||
'backup_successful_subject_title' => 'Başarılı bir yeni yedekleme!',
|
||||
'backup_successful_body' => 'Harika bir haber, :application_name âit yeni bir yedekleme :disk_name adlı diskte başarıyla oluşturuldu.',
|
||||
|
||||
'cleanup_failed_subject' => ':application_name yedeklemeleri temizlenmesi başarısız.',
|
||||
'cleanup_failed_body' => ':application_name yedeklerini temizlerken bir hata oluştu ',
|
||||
|
||||
'cleanup_successful_subject' => ':application_name yedeklemeleri temizlenmesi başarılı.',
|
||||
'cleanup_successful_subject_title' => 'Yedeklerin temizlenmesi başarılı!',
|
||||
'cleanup_successful_body' => ':application_name yedeklemeleri temizlenmesi ,:disk_name diskinden silindi',
|
||||
|
||||
'healthy_backup_found_subject' => ':application_name yedeklenmesi ,:disk_name adlı diskte sağlıklı',
|
||||
'healthy_backup_found_subject_title' => ':application_name yedeklenmesi sağlıklı',
|
||||
'healthy_backup_found_body' => ':application_name için yapılan yedeklemeler sağlıklı sayılır. Aferin!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Önemli: :application_name için yedeklemeler sağlıksız',
|
||||
'unhealthy_backup_found_subject_title' => 'Önemli: :application_name için yedeklemeler sağlıksız. :problem',
|
||||
'unhealthy_backup_found_body' => 'Yedeklemeler: :application_name disk: :disk_name sağlıksız.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Yedekleme hedefine ulaşılamıyor. :error',
|
||||
'unhealthy_backup_found_empty' => 'Bu uygulamanın yedekleri yok.',
|
||||
'unhealthy_backup_found_old' => ':date tarihinde yapılan en son yedekleme çok eski kabul ediliyor.',
|
||||
'unhealthy_backup_found_unknown' => 'Üzgünüm, kesin bir sebep belirlenemiyor.',
|
||||
'unhealthy_backup_found_full' => 'Yedeklemeler çok fazla depolama alanı kullanıyor. Şu anki kullanım: :disk_usage, izin verilen sınırdan yüksek: :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/uk/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => 'Повідомлення про помилку: :message',
|
||||
'exception_trace' => 'Деталі помилки: :trace',
|
||||
'exception_message_title' => 'Повідомлення помилки',
|
||||
'exception_trace_title' => 'Деталі помилки',
|
||||
|
||||
'backup_failed_subject' => 'Не вдалось зробити резервну копію :application_name',
|
||||
'backup_failed_body' => 'Увага: Трапилась помилка під час резервного копіювання :application_name',
|
||||
|
||||
'backup_successful_subject' => 'Успішне резервне копіювання :application_name',
|
||||
'backup_successful_subject_title' => 'Успішно створена резервна копія!',
|
||||
'backup_successful_body' => 'Чудова новина, нова резервна копія :application_name успішно створена і збережена на диск :disk_name.',
|
||||
|
||||
'cleanup_failed_subject' => 'Не вдалось очистити резервні копії :application_name',
|
||||
'cleanup_failed_body' => 'Сталася помилка під час очищення резервних копій :application_name',
|
||||
|
||||
'cleanup_successful_subject' => 'Успішне очищення від резервних копій :application_name',
|
||||
'cleanup_successful_subject_title' => 'Очищення резервних копій пройшло вдало!',
|
||||
'cleanup_successful_body' => 'Очищенно від старих резервних копій :application_name на диску :disk_name пойшло успішно.',
|
||||
|
||||
'healthy_backup_found_subject' => 'Резервна копія :application_name з диску :disk_name установлена',
|
||||
'healthy_backup_found_subject_title' => 'Резервна копія :application_name установлена',
|
||||
'healthy_backup_found_body' => 'Резервна копія :application_name успішно установлена. Хороша робота!',
|
||||
|
||||
'unhealthy_backup_found_subject' => 'Увага: резервна копія :application_name не установилась',
|
||||
'unhealthy_backup_found_subject_title' => 'Увага: резервна копія для :application_name не установилась. :problem',
|
||||
'unhealthy_backup_found_body' => 'Резервна копія для :application_name на диску :disk_name не установилась.',
|
||||
'unhealthy_backup_found_not_reachable' => 'Резервна копія не змогла установитись. :error',
|
||||
'unhealthy_backup_found_empty' => 'Резервні копії для цього додатку відсутні.',
|
||||
'unhealthy_backup_found_old' => 'Останнє резервне копіювання створено :date є застарілим.',
|
||||
'unhealthy_backup_found_unknown' => 'Вибачте, але ми не змогли визначити точну причину.',
|
||||
'unhealthy_backup_found_full' => 'Резервні копії використовують занадто багато пам`яті. Використовується :disk_usage що вище за допустиму межу :disk_limit.',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/zh-CN/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => '异常信息: :message',
|
||||
'exception_trace' => '异常跟踪: :trace',
|
||||
'exception_message_title' => '异常信息',
|
||||
'exception_trace_title' => '异常跟踪',
|
||||
|
||||
'backup_failed_subject' => ':application_name 备份失败',
|
||||
'backup_failed_body' => '重要说明:备份 :application_name 时发生错误',
|
||||
|
||||
'backup_successful_subject' => ':application_name 备份成功',
|
||||
'backup_successful_subject_title' => '备份成功!',
|
||||
'backup_successful_body' => '好消息, :application_name 备份成功,位于磁盘 :disk_name 中。',
|
||||
|
||||
'cleanup_failed_subject' => '清除 :application_name 的备份失败。',
|
||||
'cleanup_failed_body' => '清除备份 :application_name 时发生错误',
|
||||
|
||||
'cleanup_successful_subject' => '成功清除 :application_name 的备份',
|
||||
'cleanup_successful_subject_title' => '成功清除备份!',
|
||||
'cleanup_successful_body' => '成功清除 :disk_name 磁盘上 :application_name 的备份。',
|
||||
|
||||
'healthy_backup_found_subject' => ':disk_name 磁盘上 :application_name 的备份是健康的',
|
||||
'healthy_backup_found_subject_title' => ':application_name 的备份是健康的',
|
||||
'healthy_backup_found_body' => ':application_name 的备份是健康的。干的好!',
|
||||
|
||||
'unhealthy_backup_found_subject' => '重要说明::application_name 的备份不健康',
|
||||
'unhealthy_backup_found_subject_title' => '重要说明::application_name 备份不健康。 :problem',
|
||||
'unhealthy_backup_found_body' => ':disk_name 磁盘上 :application_name 的备份不健康。',
|
||||
'unhealthy_backup_found_not_reachable' => '无法访问备份目标。 :error',
|
||||
'unhealthy_backup_found_empty' => '根本没有此应用程序的备份。',
|
||||
'unhealthy_backup_found_old' => '最近的备份创建于 :date ,太旧了。',
|
||||
'unhealthy_backup_found_unknown' => '对不起,确切原因无法确定。',
|
||||
'unhealthy_backup_found_full' => '备份占用了太多存储空间。当前占用了 :disk_usage ,高于允许的限制 :disk_limit。',
|
||||
];
|
||||
35
vendor/spatie/laravel-backup/resources/lang/zh-TW/notifications.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'exception_message' => '異常訊息: :message',
|
||||
'exception_trace' => '異常追蹤: :trace',
|
||||
'exception_message_title' => '異常訊息',
|
||||
'exception_trace_title' => '異常追蹤',
|
||||
|
||||
'backup_failed_subject' => ':application_name 備份失敗',
|
||||
'backup_failed_body' => '重要說明:備份 :application_name 時發生錯誤',
|
||||
|
||||
'backup_successful_subject' => ':application_name 備份成功',
|
||||
'backup_successful_subject_title' => '備份成功!',
|
||||
'backup_successful_body' => '好消息, :application_name 備份成功,位於磁盤 :disk_name 中。',
|
||||
|
||||
'cleanup_failed_subject' => '清除 :application_name 的備份失敗。',
|
||||
'cleanup_failed_body' => '清除備份 :application_name 時發生錯誤',
|
||||
|
||||
'cleanup_successful_subject' => '成功清除 :application_name 的備份',
|
||||
'cleanup_successful_subject_title' => '成功清除備份!',
|
||||
'cleanup_successful_body' => '成功清除 :disk_name 磁盤上 :application_name 的備份。',
|
||||
|
||||
'healthy_backup_found_subject' => ':disk_name 磁盤上 :application_name 的備份是健康的',
|
||||
'healthy_backup_found_subject_title' => ':application_name 的備份是健康的',
|
||||
'healthy_backup_found_body' => ':application_name 的備份是健康的。幹的好!',
|
||||
|
||||
'unhealthy_backup_found_subject' => '重要說明::application_name 的備份不健康',
|
||||
'unhealthy_backup_found_subject_title' => '重要說明::application_name 備份不健康。 :problem',
|
||||
'unhealthy_backup_found_body' => ':disk_name 磁盤上 :application_name 的備份不健康。',
|
||||
'unhealthy_backup_found_not_reachable' => '無法訪問備份目標。 :error',
|
||||
'unhealthy_backup_found_empty' => '根本沒有此應用程序的備份。',
|
||||
'unhealthy_backup_found_old' => '最近的備份創建於 :date ,太舊了。',
|
||||
'unhealthy_backup_found_unknown' => '對不起,確切原因無法確定。',
|
||||
'unhealthy_backup_found_full' => '備份佔用了太多存儲空間。當前佔用了 :disk_usage ,高於允許的限制 :disk_limit。',
|
||||
];
|
||||
102
vendor/spatie/laravel-backup/src/BackupDestination/Backup.php
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\BackupDestination;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Contracts\Filesystem\Filesystem;
|
||||
use InvalidArgumentException;
|
||||
use Spatie\Backup\Tasks\Backup\BackupJob;
|
||||
|
||||
class Backup
|
||||
{
|
||||
/** @var \Illuminate\Contracts\Filesystem\Filesystem */
|
||||
protected $disk;
|
||||
|
||||
/** @var string */
|
||||
protected $path;
|
||||
|
||||
/** @var bool */
|
||||
protected $exists;
|
||||
|
||||
/** @var Carbon */
|
||||
protected $date;
|
||||
|
||||
/** @var int */
|
||||
protected $size;
|
||||
|
||||
public function __construct(Filesystem $disk, string $path)
|
||||
{
|
||||
$this->disk = $disk;
|
||||
$this->path = $path;
|
||||
$this->exists = true;
|
||||
}
|
||||
|
||||
public function disk(): Filesystem
|
||||
{
|
||||
return $this->disk;
|
||||
}
|
||||
|
||||
public function path(): string
|
||||
{
|
||||
return $this->path;
|
||||
}
|
||||
|
||||
public function exists(): bool
|
||||
{
|
||||
if ($this->exists === null) {
|
||||
$this->exists = $this->disk->exists($this->path);
|
||||
}
|
||||
|
||||
return $this->exists;
|
||||
}
|
||||
|
||||
public function date(): Carbon
|
||||
{
|
||||
if ($this->date === null) {
|
||||
try {
|
||||
// try to parse the date from the filename
|
||||
$basename = basename($this->path);
|
||||
$this->date = Carbon::createFromFormat(BackupJob::FILENAME_FORMAT, $basename);
|
||||
} catch (InvalidArgumentException $e) {
|
||||
// if that fails, ask the (remote) filesystem
|
||||
$this->date = Carbon::createFromTimestamp($this->disk->lastModified($this->path));
|
||||
}
|
||||
}
|
||||
|
||||
return $this->date;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the size in bytes.
|
||||
*/
|
||||
public function size(): float
|
||||
{
|
||||
if ($this->size === null) {
|
||||
if (! $this->exists()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
$this->size = $this->disk->size($this->path);
|
||||
}
|
||||
|
||||
return $this->size;
|
||||
}
|
||||
|
||||
public function stream()
|
||||
{
|
||||
return $this->disk->readStream($this->path);
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
if (! $this->disk->delete($this->path)) {
|
||||
consoleOutput()->error("Failed to delete backup `{$this->path}`.");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->exists = false;
|
||||
|
||||
consoleOutput()->info("Deleted backup `{$this->path}`.");
|
||||
}
|
||||
}
|
||||
49
vendor/spatie/laravel-backup/src/BackupDestination/BackupCollection.php
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\BackupDestination;
|
||||
|
||||
use Illuminate\Contracts\Filesystem\Filesystem;
|
||||
use Illuminate\Support\Collection;
|
||||
use Spatie\Backup\Helpers\File;
|
||||
|
||||
class BackupCollection extends Collection
|
||||
{
|
||||
/** @var null|float */
|
||||
protected $sizeCache = null;
|
||||
|
||||
public static function createFromFiles(?FileSystem $disk, array $files): self
|
||||
{
|
||||
return (new static($files))
|
||||
->filter(function ($path) use ($disk) {
|
||||
return (new File)->isZipFile($disk, $path);
|
||||
})
|
||||
->map(function ($path) use ($disk) {
|
||||
return new Backup($disk, $path);
|
||||
})
|
||||
->sortByDesc(function (Backup $backup) {
|
||||
return $backup->date()->timestamp;
|
||||
})
|
||||
->values();
|
||||
}
|
||||
|
||||
public function newest(): ?Backup
|
||||
{
|
||||
return $this->first();
|
||||
}
|
||||
|
||||
public function oldest(): ?Backup
|
||||
{
|
||||
return $this
|
||||
->filter->exists()
|
||||
->last();
|
||||
}
|
||||
|
||||
public function size(): float
|
||||
{
|
||||
if ($this->sizeCache !== null) {
|
||||
return $this->sizeCache;
|
||||
}
|
||||
|
||||
return $this->sizeCache = $this->sum->size();
|
||||
}
|
||||
}
|
||||
191
vendor/spatie/laravel-backup/src/BackupDestination/BackupDestination.php
vendored
Normal file
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\BackupDestination;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use Illuminate\Contracts\Filesystem\Factory;
|
||||
use Illuminate\Contracts\Filesystem\Filesystem;
|
||||
use Spatie\Backup\Exceptions\InvalidBackupDestination;
|
||||
|
||||
class BackupDestination
|
||||
{
|
||||
/** @var \Illuminate\Contracts\Filesystem\Filesystem */
|
||||
protected $disk;
|
||||
|
||||
/** @var string */
|
||||
protected $diskName;
|
||||
|
||||
/** @var string */
|
||||
protected $backupName;
|
||||
|
||||
/** @var Exception */
|
||||
public $connectionError;
|
||||
|
||||
/** @var null|\Spatie\Backup\BackupDestination\BackupCollection */
|
||||
protected $backupCollectionCache = null;
|
||||
|
||||
public function __construct(Filesystem $disk = null, string $backupName, string $diskName)
|
||||
{
|
||||
$this->disk = $disk;
|
||||
|
||||
$this->diskName = $diskName;
|
||||
|
||||
$this->backupName = preg_replace('/[^a-zA-Z0-9.]/', '-', $backupName);
|
||||
}
|
||||
|
||||
public function disk(): Filesystem
|
||||
{
|
||||
return $this->disk;
|
||||
}
|
||||
|
||||
public function diskName(): string
|
||||
{
|
||||
return $this->diskName;
|
||||
}
|
||||
|
||||
public function filesystemType(): string
|
||||
{
|
||||
if (is_null($this->disk)) {
|
||||
return 'unknown';
|
||||
}
|
||||
|
||||
$adapterClass = get_class($this->disk->getDriver()->getAdapter());
|
||||
|
||||
$filesystemType = last(explode('\\', $adapterClass));
|
||||
|
||||
return strtolower($filesystemType);
|
||||
}
|
||||
|
||||
public static function create(string $diskName, string $backupName): self
|
||||
{
|
||||
try {
|
||||
$disk = app(Factory::class)->disk($diskName);
|
||||
|
||||
return new static($disk, $backupName, $diskName);
|
||||
} catch (Exception $exception) {
|
||||
$backupDestination = new static(null, $backupName, $diskName);
|
||||
|
||||
$backupDestination->connectionError = $exception;
|
||||
|
||||
return $backupDestination;
|
||||
}
|
||||
}
|
||||
|
||||
public function write(string $file)
|
||||
{
|
||||
if (! is_null($this->connectionError)) {
|
||||
throw InvalidBackupDestination::connectionError($this->diskName);
|
||||
}
|
||||
|
||||
if (is_null($this->disk)) {
|
||||
throw InvalidBackupDestination::diskNotSet($this->backupName);
|
||||
}
|
||||
|
||||
$destination = $this->backupName.'/'.pathinfo($file, PATHINFO_BASENAME);
|
||||
|
||||
$handle = fopen($file, 'r+');
|
||||
|
||||
$result = $this->disk->getDriver()->writeStream(
|
||||
$destination,
|
||||
$handle,
|
||||
$this->getDiskOptions()
|
||||
);
|
||||
|
||||
if (is_resource($handle)) {
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
if ($result === false) {
|
||||
throw InvalidBackupDestination::writeError($this->diskName);
|
||||
}
|
||||
}
|
||||
|
||||
public function backupName(): string
|
||||
{
|
||||
return $this->backupName;
|
||||
}
|
||||
|
||||
public function backups(): BackupCollection
|
||||
{
|
||||
if ($this->backupCollectionCache) {
|
||||
return $this->backupCollectionCache;
|
||||
}
|
||||
|
||||
$files = [];
|
||||
|
||||
if (! is_null($this->disk)) {
|
||||
// $this->disk->allFiles() may fail when $this->disk is not reachable
|
||||
// in that case we still want to send the notification
|
||||
try {
|
||||
$files = $this->disk->allFiles($this->backupName);
|
||||
} catch (Exception $ex) {
|
||||
}
|
||||
}
|
||||
|
||||
return $this->backupCollectionCache = BackupCollection::createFromFiles(
|
||||
$this->disk,
|
||||
$files
|
||||
);
|
||||
}
|
||||
|
||||
public function connectionError(): Exception
|
||||
{
|
||||
return $this->connectionError;
|
||||
}
|
||||
|
||||
public function getDiskOptions(): array
|
||||
{
|
||||
return config("filesystems.disks.{$this->diskName()}.backup_options") ?? [];
|
||||
}
|
||||
|
||||
public function isReachable(): bool
|
||||
{
|
||||
if (is_null($this->disk)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
$this->disk->allFiles($this->backupName);
|
||||
|
||||
return true;
|
||||
} catch (Exception $exception) {
|
||||
$this->connectionError = $exception;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function usedStorage(): float
|
||||
{
|
||||
return $this->backups()->size();
|
||||
}
|
||||
|
||||
public function newestBackup(): ?Backup
|
||||
{
|
||||
return $this->backups()->newest();
|
||||
}
|
||||
|
||||
public function oldestBackup(): ?Backup
|
||||
{
|
||||
return $this->backups()->oldest();
|
||||
}
|
||||
|
||||
public function newestBackupIsOlderThan(Carbon $date): bool
|
||||
{
|
||||
$newestBackup = $this->newestBackup();
|
||||
|
||||
if (is_null($newestBackup)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return $newestBackup->date()->gt($date);
|
||||
}
|
||||
|
||||
public function fresh(): self
|
||||
{
|
||||
$this->backupCollectionCache = null;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
16
vendor/spatie/laravel-backup/src/BackupDestination/BackupDestinationFactory.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\BackupDestination;
|
||||
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class BackupDestinationFactory
|
||||
{
|
||||
public static function createFromArray(array $config): Collection
|
||||
{
|
||||
return collect($config['destination']['disks'])
|
||||
->map(function ($filesystemName) use ($config) {
|
||||
return BackupDestination::create($filesystemName, $config['name']);
|
||||
});
|
||||
}
|
||||
}
|
||||
58
vendor/spatie/laravel-backup/src/BackupServiceProvider.php
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup;
|
||||
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Spatie\Backup\Commands\BackupCommand;
|
||||
use Spatie\Backup\Commands\CleanupCommand;
|
||||
use Spatie\Backup\Commands\ListCommand;
|
||||
use Spatie\Backup\Commands\MonitorCommand;
|
||||
use Spatie\Backup\Events\BackupZipWasCreated;
|
||||
use Spatie\Backup\Helpers\ConsoleOutput;
|
||||
use Spatie\Backup\Listeners\EncryptBackupArchive;
|
||||
use Spatie\Backup\Notifications\EventHandler;
|
||||
use Spatie\Backup\Tasks\Cleanup\CleanupStrategy;
|
||||
|
||||
class BackupServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function boot()
|
||||
{
|
||||
$this->publishes([
|
||||
__DIR__.'/../config/backup.php' => config_path('backup.php'),
|
||||
], 'config');
|
||||
|
||||
$this->publishes([
|
||||
__DIR__.'/../resources/lang' => "{$this->app['path.lang']}/vendor/backup",
|
||||
]);
|
||||
|
||||
$this->loadTranslationsFrom(__DIR__.'/../resources/lang/', 'backup');
|
||||
|
||||
if (EncryptBackupArchive::shouldEncrypt()) {
|
||||
Event::listen(BackupZipWasCreated::class, EncryptBackupArchive::class);
|
||||
}
|
||||
}
|
||||
|
||||
public function register()
|
||||
{
|
||||
$this->mergeConfigFrom(__DIR__.'/../config/backup.php', 'backup');
|
||||
|
||||
$this->app['events']->subscribe(EventHandler::class);
|
||||
|
||||
$this->app->bind('command.backup:run', BackupCommand::class);
|
||||
$this->app->bind('command.backup:clean', CleanupCommand::class);
|
||||
$this->app->bind('command.backup:list', ListCommand::class);
|
||||
$this->app->bind('command.backup:monitor', MonitorCommand::class);
|
||||
|
||||
$this->app->bind(CleanupStrategy::class, config('backup.cleanup.strategy'));
|
||||
|
||||
$this->commands([
|
||||
'command.backup:run',
|
||||
'command.backup:clean',
|
||||
'command.backup:list',
|
||||
'command.backup:monitor',
|
||||
]);
|
||||
|
||||
$this->app->singleton(ConsoleOutput::class);
|
||||
}
|
||||
}
|
||||
76
vendor/spatie/laravel-backup/src/Commands/BackupCommand.php
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Commands;
|
||||
|
||||
use Exception;
|
||||
use Spatie\Backup\Events\BackupHasFailed;
|
||||
use Spatie\Backup\Exceptions\InvalidCommand;
|
||||
use Spatie\Backup\Tasks\Backup\BackupJobFactory;
|
||||
|
||||
class BackupCommand extends BaseCommand
|
||||
{
|
||||
/** @var string */
|
||||
protected $signature = 'backup:run {--filename=} {--only-db} {--db-name=*} {--only-files} {--only-to-disk=} {--disable-notifications} {--timeout=}';
|
||||
|
||||
/** @var string */
|
||||
protected $description = 'Run the backup.';
|
||||
|
||||
public function handle()
|
||||
{
|
||||
consoleOutput()->comment('Starting backup...');
|
||||
|
||||
$disableNotifications = $this->option('disable-notifications');
|
||||
|
||||
if ($this->option('timeout') && is_numeric($this->option('timeout'))) {
|
||||
set_time_limit((int) $this->option('timeout'));
|
||||
}
|
||||
|
||||
try {
|
||||
$this->guardAgainstInvalidOptions();
|
||||
|
||||
$backupJob = BackupJobFactory::createFromArray(config('backup'));
|
||||
|
||||
if ($this->option('only-db')) {
|
||||
$backupJob->dontBackupFilesystem();
|
||||
}
|
||||
if ($this->option('db-name')) {
|
||||
$backupJob->onlyDbName($this->option('db-name'));
|
||||
}
|
||||
|
||||
if ($this->option('only-files')) {
|
||||
$backupJob->dontBackupDatabases();
|
||||
}
|
||||
|
||||
if ($this->option('only-to-disk')) {
|
||||
$backupJob->onlyBackupTo($this->option('only-to-disk'));
|
||||
}
|
||||
|
||||
if ($this->option('filename')) {
|
||||
$backupJob->setFilename($this->option('filename'));
|
||||
}
|
||||
|
||||
if ($disableNotifications) {
|
||||
$backupJob->disableNotifications();
|
||||
}
|
||||
|
||||
$backupJob->run();
|
||||
|
||||
consoleOutput()->comment('Backup completed!');
|
||||
} catch (Exception $exception) {
|
||||
consoleOutput()->error("Backup failed because: {$exception->getMessage()}.");
|
||||
|
||||
if (! $disableNotifications) {
|
||||
event(new BackupHasFailed($exception));
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
protected function guardAgainstInvalidOptions()
|
||||
{
|
||||
if ($this->option('only-db') && $this->option('only-files')) {
|
||||
throw InvalidCommand::create('Cannot use `only-db` and `only-files` together');
|
||||
}
|
||||
}
|
||||
}
|
||||
18
vendor/spatie/laravel-backup/src/Commands/BaseCommand.php
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Spatie\Backup\Helpers\ConsoleOutput;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
abstract class BaseCommand extends Command
|
||||
{
|
||||
public function run(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
app(ConsoleOutput::class)->setOutput($this);
|
||||
|
||||
return parent::run($input, $output);
|
||||
}
|
||||
}
|
||||
53
vendor/spatie/laravel-backup/src/Commands/CleanupCommand.php
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Commands;
|
||||
|
||||
use Exception;
|
||||
use Spatie\Backup\BackupDestination\BackupDestinationFactory;
|
||||
use Spatie\Backup\Events\CleanupHasFailed;
|
||||
use Spatie\Backup\Tasks\Cleanup\CleanupJob;
|
||||
use Spatie\Backup\Tasks\Cleanup\CleanupStrategy;
|
||||
|
||||
class CleanupCommand extends BaseCommand
|
||||
{
|
||||
/** @var string */
|
||||
protected $signature = 'backup:clean {--disable-notifications}';
|
||||
|
||||
/** @var string */
|
||||
protected $description = 'Remove all backups older than specified number of days in config.';
|
||||
|
||||
/** @var \Spatie\Backup\Tasks\Cleanup\CleanupStrategy */
|
||||
protected $strategy;
|
||||
|
||||
public function __construct(CleanupStrategy $strategy)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->strategy = $strategy;
|
||||
}
|
||||
|
||||
public function handle()
|
||||
{
|
||||
consoleOutput()->comment('Starting cleanup...');
|
||||
|
||||
$disableNotifications = $this->option('disable-notifications');
|
||||
|
||||
try {
|
||||
$config = config('backup');
|
||||
|
||||
$backupDestinations = BackupDestinationFactory::createFromArray($config['backup']);
|
||||
|
||||
$cleanupJob = new CleanupJob($backupDestinations, $this->strategy, $disableNotifications);
|
||||
|
||||
$cleanupJob->run();
|
||||
|
||||
consoleOutput()->comment('Cleanup completed!');
|
||||
} catch (Exception $exception) {
|
||||
if (! $disableNotifications) {
|
||||
event(new CleanupHasFailed($exception));
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
101
vendor/spatie/laravel-backup/src/Commands/ListCommand.php
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Commands;
|
||||
|
||||
use Illuminate\Support\Collection;
|
||||
use Spatie\Backup\BackupDestination\Backup;
|
||||
use Spatie\Backup\Helpers\Format;
|
||||
use Spatie\Backup\Helpers\RightAlignedTableStyle;
|
||||
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatus;
|
||||
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatusFactory;
|
||||
|
||||
class ListCommand extends BaseCommand
|
||||
{
|
||||
/** @var string */
|
||||
protected $signature = 'backup:list';
|
||||
|
||||
/** @var string */
|
||||
protected $description = 'Display a list of all backups.';
|
||||
|
||||
public function handle()
|
||||
{
|
||||
$statuses = BackupDestinationStatusFactory::createForMonitorConfig(config('backup.monitor_backups'));
|
||||
|
||||
$this->displayOverview($statuses)->displayFailures($statuses);
|
||||
}
|
||||
|
||||
protected function displayOverview(Collection $backupDestinationStatuses)
|
||||
{
|
||||
$headers = ['Name', 'Disk', 'Reachable', 'Healthy', '# of backups', 'Newest backup', 'Used storage'];
|
||||
|
||||
$rows = $backupDestinationStatuses->map(function (BackupDestinationStatus $backupDestinationStatus) {
|
||||
return $this->convertToRow($backupDestinationStatus);
|
||||
});
|
||||
|
||||
$this->table($headers, $rows, 'default', [
|
||||
4 => new RightAlignedTableStyle(),
|
||||
6 => new RightAlignedTableStyle(),
|
||||
]);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function convertToRow(BackupDestinationStatus $backupDestinationStatus): array
|
||||
{
|
||||
$destination = $backupDestinationStatus->backupDestination();
|
||||
|
||||
$row = [
|
||||
$destination->backupName(),
|
||||
'disk' => $destination->diskName(),
|
||||
Format::emoji($destination->isReachable()),
|
||||
Format::emoji($backupDestinationStatus->isHealthy()),
|
||||
'amount' => $destination->backups()->count(),
|
||||
'newest' => $this->getFormattedBackupDate($destination->newestBackup()),
|
||||
'usedStorage' => Format::humanReadableSize($destination->usedStorage()),
|
||||
];
|
||||
|
||||
if (! $destination->isReachable()) {
|
||||
foreach (['amount', 'newest', 'usedStorage'] as $propertyName) {
|
||||
$row[$propertyName] = '/';
|
||||
}
|
||||
}
|
||||
|
||||
if ($backupDestinationStatus->getHealthCheckFailure() !== null) {
|
||||
$row['disk'] = '<error>'.$row['disk'].'</error>';
|
||||
}
|
||||
|
||||
return $row;
|
||||
}
|
||||
|
||||
protected function displayFailures(Collection $backupDestinationStatuses)
|
||||
{
|
||||
$failed = $backupDestinationStatuses
|
||||
->filter(function (BackupDestinationStatus $backupDestinationStatus) {
|
||||
return $backupDestinationStatus->getHealthCheckFailure() !== null;
|
||||
})
|
||||
->map(function (BackupDestinationStatus $backupDestinationStatus) {
|
||||
return [
|
||||
$backupDestinationStatus->backupDestination()->backupName(),
|
||||
$backupDestinationStatus->backupDestination()->diskName(),
|
||||
$backupDestinationStatus->getHealthCheckFailure()->healthCheck()->name(),
|
||||
$backupDestinationStatus->getHealthCheckFailure()->exception()->getMessage(),
|
||||
];
|
||||
});
|
||||
|
||||
if ($failed->isNotEmpty()) {
|
||||
$this->warn('');
|
||||
$this->warn('Unhealthy backup destinations');
|
||||
$this->warn('-----------------------------');
|
||||
$this->table(['Name', 'Disk', 'Failed check', 'Description'], $failed->all());
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function getFormattedBackupDate(Backup $backup = null)
|
||||
{
|
||||
return is_null($backup)
|
||||
? 'No backups present'
|
||||
: Format::ageInDays($backup->date());
|
||||
}
|
||||
}
|
||||
40
vendor/spatie/laravel-backup/src/Commands/MonitorCommand.php
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Commands;
|
||||
|
||||
use Spatie\Backup\Events\HealthyBackupWasFound;
|
||||
use Spatie\Backup\Events\UnhealthyBackupWasFound;
|
||||
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatusFactory;
|
||||
|
||||
class MonitorCommand extends BaseCommand
|
||||
{
|
||||
/** @var string */
|
||||
protected $signature = 'backup:monitor';
|
||||
|
||||
/** @var string */
|
||||
protected $description = 'Monitor the health of all backups.';
|
||||
|
||||
public function handle()
|
||||
{
|
||||
$hasError = false;
|
||||
|
||||
$statuses = BackupDestinationStatusFactory::createForMonitorConfig(config('backup.monitor_backups'));
|
||||
|
||||
foreach ($statuses as $backupDestinationStatus) {
|
||||
$diskName = $backupDestinationStatus->backupDestination()->diskName();
|
||||
|
||||
if ($backupDestinationStatus->isHealthy()) {
|
||||
$this->info("The backups on {$diskName} are considered healthy.");
|
||||
event(new HealthyBackupWasFound($backupDestinationStatus));
|
||||
} else {
|
||||
$hasError = true;
|
||||
$this->error("The backups on {$diskName} are considered unhealthy!");
|
||||
event(new UnHealthyBackupWasFound($backupDestinationStatus));
|
||||
}
|
||||
}
|
||||
|
||||
if ($hasError) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
22
vendor/spatie/laravel-backup/src/Events/BackupHasFailed.php
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Exception;
|
||||
use Spatie\Backup\BackupDestination\BackupDestination;
|
||||
|
||||
class BackupHasFailed
|
||||
{
|
||||
/** @var \Exception */
|
||||
public $exception;
|
||||
|
||||
/** @var \Spatie\Backup\BackupDestination\BackupDestination|null */
|
||||
public $backupDestination;
|
||||
|
||||
public function __construct(Exception $exception, BackupDestination $backupDestination = null)
|
||||
{
|
||||
$this->exception = $exception;
|
||||
|
||||
$this->backupDestination = $backupDestination;
|
||||
}
|
||||
}
|
||||
16
vendor/spatie/laravel-backup/src/Events/BackupManifestWasCreated.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Spatie\Backup\Tasks\Backup\Manifest;
|
||||
|
||||
class BackupManifestWasCreated
|
||||
{
|
||||
/** @var \Spatie\Backup\Tasks\Backup\Manifest */
|
||||
public $manifest;
|
||||
|
||||
public function __construct(Manifest $manifest)
|
||||
{
|
||||
$this->manifest = $manifest;
|
||||
}
|
||||
}
|
||||
16
vendor/spatie/laravel-backup/src/Events/BackupWasSuccessful.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Spatie\Backup\BackupDestination\BackupDestination;
|
||||
|
||||
class BackupWasSuccessful
|
||||
{
|
||||
/** @var \Spatie\Backup\BackupDestination\BackupDestination */
|
||||
public $backupDestination;
|
||||
|
||||
public function __construct(BackupDestination $backupDestination)
|
||||
{
|
||||
$this->backupDestination = $backupDestination;
|
||||
}
|
||||
}
|
||||
14
vendor/spatie/laravel-backup/src/Events/BackupZipWasCreated.php
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
class BackupZipWasCreated
|
||||
{
|
||||
/** @var string */
|
||||
public $pathToZip;
|
||||
|
||||
public function __construct(string $pathToZip)
|
||||
{
|
||||
$this->pathToZip = $pathToZip;
|
||||
}
|
||||
}
|
||||
22
vendor/spatie/laravel-backup/src/Events/CleanupHasFailed.php
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Exception;
|
||||
use Spatie\Backup\BackupDestination\BackupDestination;
|
||||
|
||||
class CleanupHasFailed
|
||||
{
|
||||
/** @var \Exception */
|
||||
public $exception;
|
||||
|
||||
/** @var \Spatie\Backup\BackupDestination\BackupDestination|null */
|
||||
public $backupDestination;
|
||||
|
||||
public function __construct(Exception $exception, BackupDestination $backupDestination = null)
|
||||
{
|
||||
$this->exception = $exception;
|
||||
|
||||
$this->backupDestination = $backupDestination;
|
||||
}
|
||||
}
|
||||
16
vendor/spatie/laravel-backup/src/Events/CleanupWasSuccessful.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Spatie\Backup\BackupDestination\BackupDestination;
|
||||
|
||||
class CleanupWasSuccessful
|
||||
{
|
||||
/** @var \Spatie\Backup\BackupDestination\BackupDestination */
|
||||
public $backupDestination;
|
||||
|
||||
public function __construct(BackupDestination $backupDestination)
|
||||
{
|
||||
$this->backupDestination = $backupDestination;
|
||||
}
|
||||
}
|
||||
16
vendor/spatie/laravel-backup/src/Events/DumpingDatabase.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Spatie\DbDumper\DbDumper;
|
||||
|
||||
class DumpingDatabase
|
||||
{
|
||||
/** @var \Spatie\DbDumper\DbDumper */
|
||||
public $dbDumper;
|
||||
|
||||
public function __construct(DbDumper $dbDumper)
|
||||
{
|
||||
$this->dbDumper = $dbDumper;
|
||||
}
|
||||
}
|
||||
16
vendor/spatie/laravel-backup/src/Events/HealthyBackupWasFound.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatus;
|
||||
|
||||
class HealthyBackupWasFound
|
||||
{
|
||||
/** @var \Spatie\Backup\Tasks\Monitor\BackupDestinationStatus */
|
||||
public $backupDestinationStatus;
|
||||
|
||||
public function __construct(BackupDestinationStatus $backupDestinationStatus)
|
||||
{
|
||||
$this->backupDestinationStatus = $backupDestinationStatus;
|
||||
}
|
||||
}
|
||||
16
vendor/spatie/laravel-backup/src/Events/UnhealthyBackupWasFound.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Events;
|
||||
|
||||
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatus;
|
||||
|
||||
class UnhealthyBackupWasFound
|
||||
{
|
||||
/** @var \Spatie\Backup\Tasks\Monitor\BackupDestinationStatus */
|
||||
public $backupDestinationStatus;
|
||||
|
||||
public function __construct(BackupDestinationStatus $backupDestinationStatus)
|
||||
{
|
||||
$this->backupDestinationStatus = $backupDestinationStatus;
|
||||
}
|
||||
}
|
||||
13
vendor/spatie/laravel-backup/src/Exceptions/CannotCreateDbDumper.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\Backup\Exceptions;
|
||||
|
||||
use Exception;
|
||||
|
||||
class CannotCreateDbDumper extends Exception
|
||||
{
|
||||
public static function unsupportedDriver(string $driver): self
|
||||
{
|
||||
return new static("Cannot create a dumper for db driver `{$driver}`. Use `mysql`, `pgsql`, `mongodb` or `sqlite`.");
|
||||
}
|
||||
}
|
||||