yakovenko/laravel-backup-db
最新稳定版本:v1.1.0
Composer 安装命令:
composer require yakovenko/laravel-backup-db
包简介
Simple Laravel database backup command with automatic cleanup
README 文档
README
yakovenko/laravel-backup-db - Simple Laravel database backup command with automatic cleanup options, secure MySQL connection, comprehensive logging, and configurable storage support.
Installation
Requirements
- PHP : ^8.0
- Laravel : ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0
- MySQL database
mysqldumpcommand available in system PATH
Install the Package
You can install the package via Composer:
composer require yakovenko/laravel-backup-db
Configuration
Publish the config file:
php artisan vendor:publish --provider="Yakovenko\LaravelBackupDb\LaravelBackupDbServiceProvider" --tag=config
This will create config/backup-db.php with the following options:
return [ // Number of days to keep backups 'cleanup_days' => env('BACKUP_DB_CLEANUP_DAYS', 15), // Enable automatic backup scheduling 'auto_schedule' => env('BACKUP_DB_AUTO_SCHEDULE', true), // Time when backup should run (24-hour format) 'schedule_time' => env('BACKUP_DB_SCHEDULE_TIME', '00:15'), // How often backup should run: 'daily', 'weekly', 'monthly' 'schedule_frequency' => env('BACKUP_DB_SCHEDULE_FREQUENCY', 'daily'), // Day for weekly/monthly backups (0=Sunday, 1=Monday, etc. for weekly; 1-31 for monthly) 'schedule_day' => env('BACKUP_DB_SCHEDULE_DAY', 1), // Storage disk for backups 'storage_disk' => env('BACKUP_DB_STORAGE_DISK', 'local'), // Storage directory for backups 'storage_directory' => env('BACKUP_DB_STORAGE_DIRECTORY', 'backup'), // Enable logging 'logging' => env('BACKUP_DB_LOGGING', true), ];
Automatic Scheduling
The package automatically schedules backups when auto_schedule is enabled in config. No need to manually add to Kernel.php!
Schedule Configuration Examples
Daily Backup at 2:30 AM
BACKUP_DB_SCHEDULE_TIME=02:30 BACKUP_DB_SCHEDULE_FREQUENCY=daily
Weekly Backup on Fridays at 1:00 AM
BACKUP_DB_SCHEDULE_TIME=01:00 BACKUP_DB_SCHEDULE_FREQUENCY=weekly BACKUP_DB_SCHEDULE_DAY=5
Monthly Backup on 15th at 3:00 AM
BACKUP_DB_SCHEDULE_TIME=03:00 BACKUP_DB_SCHEDULE_FREQUENCY=monthly BACKUP_DB_SCHEDULE_DAY=15
Disable Automatic Scheduling
BACKUP_DB_AUTO_SCHEDULE=false
Note:
- Time format:
HH:MM(24-hour format) - Weekly days: 0=Sunday, 1=Monday, ..., 6=Saturday
- Monthly days: 1-31
Usage
Create backup only
php artisan yas:backup --run
Create backup and delete old backups (older than configured days)
php artisan yas:backup --auto
Delete all backups and create new one
php artisan yas:backup --all
Delete only old backups (older than configured days)
php artisan yas:backup --d
Author
License
MIT
统计信息
- 总下载量: 127
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-08