1
使用laravel-backup 备份网站数据库和文件
安装
composer 安装依赖包
composer require spatie/laravel-backup
添加provider
// config/app.php
'providers' => [
// ...
Spatie\Backup\BackupServiceProvider::class,
];
添加配置文件config/laravel-backup.php
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
默认配置文件如下
return [
'backup' => [
/*
* The name of this application. You can use this name to monitor
* the backups.
*/
'name' => env('APP_URL'),
'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.
*/
'followLinks' => false,
],
/*
* The names of the connections to the databases that should be backed up
* Only MySQL and PostgreSQL databases are supported.
*/
'databases' => [
'mysql',
],
],
'destination' => [
/*
* The filename prefix used for the backup zip file.
*/
'filename_prefix' => '',
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
'local',
],
],
],
/*
* You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
* For Slack you need to install guzzlehttp/guzzle.
*
* 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' => '[email protected]',
],
'slack' => [
'webhook_url' => '',
],
],
/*
* Here you can specify which backups should be monitored.
* If a backup does not meet the specified requirements the
* UnHealthyBackupWasFound event will be fired.
*/
'monitorBackups' => [
[
'name' => env('APP_URL'),
'disks' => ['local'],
'newestBackupsShouldNotBeOlderThanDays' => 1,
'storageUsedMayNotBeHigherThanMegabytes' => 5000,
],
/*
[
'name' => 'name of the second app',
'disks' => ['local', 's3'],
'newestBackupsShouldNotBeOlderThanDays' => 1,
'storageUsedMayNotBeHigherThanMegabytes' => 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,
'defaultStrategy' => [
/*
* The number of days for which backups must be kept.
*/
'keepAllBackupsForDays' => 7,
/*
* The number of days for which daily backups must be kept.
*/
'keepDailyBackupsForDays' => 16,
/*
* The number of weeks for which one weekly backup must be kept.
*/
'keepWeeklyBackupsForWeeks' => 8,
/*
* The number of months for which one monthly backup must be kept.
*/
'keepMonthlyBackupsForMonths' => 4,
/*
* The number of years for which one yearly backup must be kept.
*/
'keepYearlyBackupsForYears' => 2,
/*
* After cleaning up the backups remove the oldest backup until
* this amount of megabytes has been reached.
*/
'deleteOldestBackupsWhenUsingMoreMegabytesThan' => 5000,
],
],
];
使用
backup:run 执行备份
backup:clean 清除太久的过期备份文件
backup:list 列出当前所有备份
backup:monitor 监控备份状态
配置Cron任务进行定期备份
// 编辑 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');
}
回复
Recommend
相关搜索关键词
- 高效备份神器restic推荐
- 使用本地缓存优化微服务
- K4811_NWD backup
- K4811_NWD+backup
- visa卡使用场景
- 如何在只有 DLL 的情况下生成 MSVC 需要的 LIB 文件
- 妨害文件秘密罪
- ES文件浏览器
- 如何在只有+DLL+的情况下生成+MSVC+需要的+LIB+文件
- 老司机网站
- 图数据库
- 老司机网站推荐
- 超星 数据库
- 国产成人网站
- 网站
- 网站爆会员资料
- 数据库 整型字符串效率
- 数据库+整型字符串效率
- 超星+数据库
- laravel
- Laravel
- Laravel重构企业级电商项目 expr 973236922 + 845597538
- Laravel重构企业级电商项目 expr+973236922+++845597538
- Laravel Admin
- Laravel+Admin
Recent search keywords
- unidoc health
- 5ber
- YT9217b
- YT9217b firmware
- HW8227L
- tinystudio
- Slim odan
- Slim
- clash tun
- tun
- 国模
- 中文数据集
- 北邮人论坛十大_2024_04_18
- 北邮人论坛十大_2024_03_23
- JAC 8229B
- JCAC10003-OC2-V1.0.03B21041
- JCAC10003-OC2-V1.0.03B1
- atrust
- dallas.lu
- 知情同意的
- checking system health gpt
- checking system health
- iptv smart player
- LLM
- MLC
- mlc llm
- k4811_oh_s217101
- 8257 logo
- logo
- Oneplus 8t
- Kernel
- tab 4
- JCAC10003-OC2-V1.0.071R5-230413_0757
- SCSI
- incentivize
- Ergonomic Frozen Shirt
- Producer
- 4th generation
- parsing
- Berkshire
- Multi-tiered
- copy
- teal
- Hills
- card
- Wooden
- Northern Mariana Islands
- deliver
- syndicate
- Money Market Account
- Assurance
- Representative
- compress
- Iowa
- Cheese
- solid state
- extend
- withdrawal
- Taka
- Planner
- attitude
- impactful
- copying
- Savings Account
- Tuna
- Creative
- Indian Rupee Ngultrum
- District
- Fantastic
- Personal Loan Account
- functionalities
- Gorgeous
- enhance
- Noord-Holland
- Utrecht
- Kuwaiti Dinar
- Bedfordshire
- Baby
- Soap
- paradigms
- bypass
- USB
- Costa Rica
- Analyst
- Tactics
- 因研究計畫
- indea
- api管理系统源码
- dissertation conclusion
- 社工库源码
- version 2023.10.19.20
- mabbs.github.io
- mabbs
- 旧电脑
- old-pc
- interleaving in sap ewm
- marketplace
- gpt
- 学习强国
- tlink5 dingwei 5.3.47