1
إنشاء مشروع في Google Cloud Console
- اذهب إلى Google Cloud Console
- أنشئ مشروع جديد أو اختر مشروع موجود
- سجل اسم المشروع (مثال: Blood Bank Backup)
إذا لم يكن لديك حساب Google Cloud، ستحتاج إلى إنشاء واحد مجاناً.
2
تفعيل Google Drive API
- من القائمة الجانبية، اختر APIs & Services → Library
- ابحث عن Google Drive API
- اضغط Enable لتفعيل الـ API
3
إعداد OAuth Consent Screen
- اذهب إلى APIs & Services → OAuth consent screen
- اختر External (أو Internal إذا كان لديك Google Workspace)
- املأ المعلومات المطلوبة:
- App name: Blood Bank Backup
- User support email: بريدك الإلكتروني
- Developer contact: بريدك الإلكتروني
- اضغط Save and Continue
- في Scopes، اضغط Add or Remove Scopes
- ابحث عن
https://www.googleapis.com/auth/drive.file واختره
- اضغط Update ثم Save and Continue
- في Test users، أضف بريدك الإلكتروني
- اضغط Save and Continue ثم Back to Dashboard
4
إنشاء OAuth 2.0 Credentials
- اذهب إلى APIs & Services → Credentials
- اضغط Create Credentials → OAuth client ID
- اختر Application type: Web application
- أدخل Name: Blood Bank Backup Client
- في Authorized redirect URIs، أضف:
http://localhost (للاستخدام المحلي)
- أو رابط موقعك (مثال:
https://yourdomain.com)
- اضغط Create
- ستحصل على:
- Client ID (مثال:
123456789-abc.apps.googleusercontent.com)
- Client Secret (مثال:
GOCSPX-xxxxxxxxxxxx)
مهم: احفظ Client ID و Client Secret في مكان آمن. ستحتاج إليهما في الخطوة التالية.
5
الحصول على Refresh Token
الطريقة 1: استخدام OAuth2 Playground (الأسهل والأسرع)
- اذهب إلى OAuth2 Playground
- في الجانب الأيمن، اضغط على أيقونة الإعدادات
- فعّل Use your own OAuth credentials
- أدخل OAuth Client ID و OAuth Client secret من الخطوة السابقة
- في القائمة اليسرى، ابحث عن Drive API v3
- اختر
https://www.googleapis.com/auth/drive.file
- اضغط Authorize APIs
- سجل دخول بحساب Google الخاص بك
- اضغط Allow للسماح بالوصول
- اضغط Exchange authorization code for tokens
- ستحصل على Refresh token (مثال:
1//xxxxxxxxxxxx)
ممتاز! الآن لديك جميع البيانات المطلوبة:
- Client ID
- Client Secret
- Refresh Token
6
الحصول على Folder ID (اختياري)
إذا أردت رفع النسخ الاحتياطية في مجلد محدد:
- افتح Google Drive
- أنشئ مجلد جديد (مثال: Blood Bank Backups)
- افتح المجلد
- انسخ ID من الرابط:
- الرابط:
https://drive.google.com/drive/folders/1a2b3c4d5e6f7g8h9i0j
- الـ ID:
1a2b3c4d5e6f7g8h9i0j
إذا تركت هذا الحقل فارغاً، سيتم رفع الملفات في الجذر (Root) في Google Drive.
7
إدخال البيانات في النظام
- افتح صفحة الإعدادات في النظام
- اذهب إلى قسم إعدادات Google Drive للنسخ الاحتياطي
- أدخل:
- Google Drive Client ID
- Google Drive Client Secret
- Google Drive Refresh Token
- معرف مجلد Google Drive (اختياري)
- اضغط حفظ التغييرات
8
إعداد النسخ الاحتياطي الأسبوعي التلقائي
Linux/Mac (crontab):
# افتح crontab
crontab -e
# أضف السطر التالي (كل يوم أحد الساعة 2 صباحاً)
0 2 * * 0 php /path/to/blood/cron/weekly_backup.php >> /path/to/blood/storage/logs/backup.log 2>&1
Windows (Task Scheduler):
- افتح Task Scheduler
- اضغط Create Basic Task
- املأ المعلومات:
- Name: Weekly Backup
- Trigger: Weekly
- Start time: 2:00 AM
- Day: Sunday
- Action: Start a program
- Program:
php
- Arguments:
C:\laragon\www\blood\cron\weekly_backup.php
- اضغط Finish
التحقق من الإعداد
- أنشئ نسخة احتياطية يدوياً من صفحة النسخ الاحتياطي
- فعّل خيار رفع النسخة الاحتياطية على Google Drive
- تحقق من Google Drive للتأكد من رفع الملف
استكشاف الأخطاء
تأكد من إدخال Refresh Token في صفحة الإعدادات بشكل صحيح.
- تحقق من صحة Client ID و Client Secret
- تأكد من تفعيل Google Drive API
- تحقق من أن Refresh Token لم ينتهِ صلاحيته
- تحقق من صحة Folder ID (إذا استخدمته)
- تأكد من أن Refresh Token لم ينتهِ صلاحيته
- تحقق من أن حساب Google لديه مساحة كافية
ملاحظات مهمة
- Refresh Token لا ينتهي صلاحيته إلا إذا قمت بإلغاء الصلاحيات
- النسخ الاحتياطية الأسبوعية التلقائية تُرفع تلقائياً على Google Drive إذا كان مفعّلاً
- يمكنك رفع النسخ الاحتياطية يدوياً من صفحة النسخ الاحتياطي
- احفظ Client ID و Client Secret و Refresh Token في مكان آمن