توفر هذه الحزمة مديرًا احتياطيًا لقاعدة البيانات لا يعتمد على إطار العمل للتخلص من قواعد البيانات واستعادتها من S3 وDropbox وFTP وSFTP وRackspace Cloud.
استخدم الإصدار 2+ لـ >=PHP 7.3
استخدم الإصدار 1 لـ <PHP 7.2
شاهد جولة فيديو توضح برنامج تشغيل Laravel وهو يعمل لإعطائك فكرة عما هو ممكن.
يدعم MySQL
و PostgreSQL
ضغط مع Gzip
إطار ملحد
تكوين بسيط ميت
سائق لارافيل
سائق سيمفوني
مدير النسخ الاحتياطي لقاعدة البيانات
جدول المحتويات
سريعة وقذرة
متطلبات
تثبيت
الاستخدام
إرشادات المساهمة
المشرفون
فواصل التوافق مع الإصدارات السابقة
رخصة
تكوين قواعد البيانات الخاصة بك.
// config/database.php'development' => ['type' => 'mysql','host' => 'localhost','port' => '3306','user' => 'root',' pass' => 'password','database' => 'test',// إذا تم تعيين SingleTransaction على true، فسيتم تعيين علامة --single-transcation.// وهذا مفيد في قواعد بيانات المعاملات مثل InnoDB.// http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_single-transaction'singleTransaction' => false،// لا تقم بتفريغ الجداول المحددة// قم بتعيين أسماء الجداول فقط ، بدون اسم قاعدة البيانات// مثال: ['table1', 'table2']// http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_ignore-table'ignoreTables' => [],// استخدام SSL للاتصال بقاعدة البيانات الخاصة بك - دعم SSL نشط (mysql فقط ):'ssl'=>false,// أضف خيارات إضافية لأمر التفريغ (مثل '--max-allowed-packet')'extraParams'=>null, ]، 'production' => ['type' => 'postgresql','host' => 'localhost','port' => '5432','user' => 'postgres','pass' => 'password' ,'قاعدة البيانات' => 'اختبار', ]،
تكوين أنظمة الملفات الخاصة بك.
// config/storage.php'local' => ['type' => 'Local','root' => '/path/to/working/directory', ],'s3' => ['type' => 'AwsS3','key' => '','secret' => '','region' => 'us-east-1','version' = > 'الأحدث','bucket' => '','root' => '','use_path_style_endpoint' => false, ],'b2' => ['type' => 'B2','key' => '','accountId' => '','bucket' => '', ],'gcs' => ['type' => 'Gcs','key' => '','secret' => '','version' => 'latest','bucket' => '', 'الجذر' => '', ],'rackspace' => ['type' => 'Rackspace','username' => '','key' => '','container' => '','zone' => '',' الجذر' => ''، ],'dropbox' => ['type' => 'DropboxV2','token' => '','key' => '','secret' => '','app' => '',' الجذر' => ''، ],'ftp' => ['type' => 'Ftp','host' => '','اسم المستخدم' => '','password' => '','root' => '',' المنفذ' => 21,'passive' => صحيح,'ssl' => صحيح,'المهلة' => 30, ],'sftp' => ['type' => 'Sftp','host' => '','username' => '','password' => '','root' => '',' المنفذ' => 21،'المهلة' => 10،'المفتاح الخاص' => ''، ],'flysystem' => ['type' => 'Flysystem','name' => 's3_backup',//'prefix' => 'upload',],'doSpaces' => ['type' => 'AwsS3','key' => '','secret' => '','region' => '','bucket' => '','root' => '','نقطة النهاية' => '','use_path_style_endpoint' => خطأ، ],'webdav' => ['type' => 'Webdav','baseUri' => 'http://myserver.com','userName' => '','password' => '','بادئة ' => ''، ]،
النسخ الاحتياطي إلى / الاستعادة من أي قاعدة بيانات تم تكوينها.
النسخ الاحتياطي لقاعدة بيانات التطوير إلى Amazon S3
. سيكون مسار النسخ الاحتياطي S3 هو test/backup.sql.gz
في النهاية، عند الانتهاء من استخدام gzip
.
استخدم BackupManagerFilesystemsDestination;$manager = require 'bootstrap.php';$manager->makeBackup()->run('development', [new Destination('s3', 'test/backup.sql')], 'gzip') ;
النسخ الاحتياطي / الاستعادة من أي نظام ملفات تم تكوينه.
قم باستعادة ملف قاعدة البيانات test/backup.sql.gz
من Amazon S3
إلى قاعدة بيانات development
.
$manager = require 'bootstrap.php';$manager->makeRestore()->run('s3', 'test/backup.sql.gz', 'development', 'gzip');
لا تسمح لك هذه الحزمة بالنسخ الاحتياطي من نوع قاعدة بيانات واستعادتها إلى نوع آخر. تفريغ MySQL غير متوافق مع PostgreSQL.
PHP 5.5
يتطلب دعم MySQL وجود ثنائيات سطر الأوامر mysqldump
و mysql
يتطلب دعم PostgreSQL وجود ثنائيات سطر الأوامر pg_dump
و psql
يتطلب دعم Gzip وجود ثنائيات سطر أوامر gzip
و gunzip
الملحن
قم بتشغيل الأمر التالي لتضمين ذلك عبر Composer
يتطلب الملحن مدير النسخ الاحتياطي/مدير النسخ الاحتياطي
بعد ذلك، ستحتاج إلى تحديد الحزم المناسبة للمحولات التي تريد استخدامها.
# لدعم s3composer يتطلب league/flysystem-aws-s3-v3# لدعم b2composer يتطلب mhetreramesh/flysystem-backblaze# لدعم google cscomposer يتطلب league/flysystem-aws-s3-v2# لتثبيت برنامج تشغيل صندوق الإسقاط v2 المفضل، مطلوب spatie/ flysystem-dropbox# لتثبيت برنامج تشغيل dropbox v2 القديم، يتطلب الملحن srmklive/flysystem-dropbox-v2# لدعم Rackspacecomposer يتطلب league/flysystem-rackspace# لدعم sftpcomposer يتطلب league/flysystem-sftp# لدعم webdav (بدعم من owncloud والعديد من الأجهزة الأخرى) يتطلب الملحن league/flysystem-webdav
بمجرد التثبيت، يجب تمهيد الحزمة (التكوين الأولي) قبل استخدامها.
لقد قدمنا مثال PHP الأصلي هنا.
يمكن العثور على التمهيد المطلوب في المثال هنا.
نوصي باستخدام التكوين المتشرد المتوفر مع هذه الحزمة للتطوير والمساهمة. ما عليك سوى تثبيت VirtualBox وVagrant وAnsible ثم تشغيل vagrant up
في المجلد الجذر. سيتم إنشاء آلة افتراضية مصممة خصيصًا لتطوير الحزمة وإطلاقها لك.
عند المساهمة يرجى مراعاة الإرشادات التالية:
نمط الكود هو PSR-2
لا ينبغي أن تكون الواجهات مُلحقة Interface
، ولا ينبغي أن تُلحق السمات Trait
.
يجب أن تحتوي جميع الأساليب والفئات على docblocks.
تأكد من تقديم الاختبارات التي تتمتع بتغطية لا تقل عن 100%. نظرًا لبساطة المشروع، فهو منطقي.
عند التخطيط لطلب سحب لإضافة وظائف جديدة، قد يكون من الحكمة تقديم اقتراح لضمان التوافق مع أهداف المشروع.
تتم صيانة هذه الحزمة بواسطة شون ماكول وأنت!
قم بإزالة الدعم لـ Symfony 2. على وجه التحديد، إصدارات Symfony/process < 3.x
هذه الحزمة مرخصة بموجب ترخيص MIT. اذهب البرية.