waheed4399/laravel-action-service-trait
最新稳定版本:v1.0.0
Composer 安装命令:
composer require waheed4399/laravel-action-service-trait
包简介
A simple Laravel package to create actions, traits and services using artisan commands
关键字:
README 文档
README
Great! Here's the updated and detailed README.md for your Laravel Backup Service package, including the section on how to send the Google Drive backup link via Telegram:
Laravel Backup Service
A Laravel package that simplifies application backups using Google Drive storage, provides Artisan commands to manage them, and sends the latest backup link directly to your Telegram group.
🚀 Features
- Upload Laravel backups to Google Drive
- Send backup download link to Telegram
- Automatically store and manage backup links
- Remove old backup files from Google Drive
- Clean and readable service structure
- Easy-to-use Artisan commands
📦 Installation
Install the package using Composer:
composer require ahmedweb/laravel-backup-service
🛠️ Configuration
1. Environment Variables
Add the following to your .env file:
FILESYSTEM_CLOUD=google GOOGLE_DRIVE_CLIENT_ID=your-google-client-id GOOGLE_DRIVE_CLIENT_SECRET=your-google-client-secret GOOGLE_DRIVE_REFRESH_TOKEN=your-google-refresh-token GOOGLE_DRIVE_FOLDER_ID=your-google-folder-id # Optional GOOGLE_DRIVE_FOLDER= TELEGRAM_BOT_TOKEN=your-telegram-bot-token TELEGRAM_CHAT_ID=your-group-chat-id
2. Filesystem Configuration
In config/filesystems.php, add the Google Drive disk:
'google_drive' => [ 'driver' => 'google', 'clientId' => env('GOOGLE_DRIVE_CLIENT_ID'), 'clientSecret' => env('GOOGLE_DRIVE_CLIENT_SECRET'), 'refreshToken' => env('GOOGLE_DRIVE_REFRESH_TOKEN'), 'folder' => env('GOOGLE_DRIVE_FOLDER'), 'folderId' => env('GOOGLE_DRIVE_FOLDER_ID'), ],
💬 Telegram Setup
To enable Telegram backup link notifications:
Step-by-step:
-
Create a bot
- Go to BotFather on Telegram
- Use
/newbotto create a bot - Save the bot token
-
Create a Telegram group
- Add the bot to the group
- Mention the bot once in the group to activate it
-
Get your group chat ID
- Use a Telegram API tool like
@userinfobotor your own bot's message logs - Or temporarily send a message from your bot and check the logs for
chat.id
- Use a Telegram API tool like
-
Add to
.env:TELEGRAM_BOT_TOKEN=123456:ABC-YourBotToken TELEGRAM_CHAT_ID=-1001234567890
Once configured, your bot will be able to post backup links directly to your group.
🧪 Artisan Commands
| Command | Description |
|---|---|
php artisan backup:store-latest-link |
Stores the latest backup file link and sends it via Telegram |
php artisan backup:delete-old |
Deletes all older backup files from Google Drive |
php artisan backup:clean-drive |
Cleans backups on Google Drive based on retention |
You can schedule these in app/Console/Kernel.php:
$schedule->command('backup:store-latest-link')->daily(); $schedule->command('backup:delete-old')->weekly();
📁 File Structure
laravel-backup-service/
├── src/
│ ├── Commands/
│ │ ├── StoreLatestBackupLink.php
│ │ ├── DeleteOldBackupFiles.php
│ │ └── CleanGoogleDriveBackups.php
│ ├── Services/
│ │ └── GoogleDriveBackupService.php
│ ├── Providers/
│ │ └── BackupServiceProvider.php
├── config/
│ └── filesystems.php (merged if needed)
📜 Requirements
| Package | Version |
|---|---|
| PHP | ^8.2 |
| Laravel | ^11.31 |
spatie/laravel-backup |
^9.3 |
google/apiclient |
^2.15 |
irazasyed/telegram-bot-sdk |
^3.15 |
masbug/flysystem-google-drive-ext |
^2.4 |
yaza/laravel-google-drive-storage |
^4.1 |
🤝 Contributing
Feel free to fork this package, suggest changes, or submit PRs. Any improvements are welcome!
📜 License
Licensed under the MIT license.
🧑💻 Author
Ahmed Web 📧 ahmedwry588@gmail.com 🌍 GitHub Profile
Would you like this README.md saved to your project directory or formatted for publishing on GitHub/Packagist?
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-29