بک آپ گیری از پروژه لاراول

گردآوری و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 10 مرداد 1396
دسته بندی ها : لاراول

بک آپ گرفتن از پروژه و دیتابیس یکی از مسائل مهمیه که در هر پروژه باید در نظر گرفته بشه. 

ما در این مقاله نحوه ی نصب و کار کردن با پکیج محبوب laravel-backup رو یاد میگیریم.

مقدمه

این پکیج یک بک آپ از اپلیکیشن شما میگیره و یک فایل zip شامل تمام مسیرها و دیتابیس هایی که شما مشخص کردید تحویل میده. این بک آپ میتونه در هر فایل سیستمی که در لاراول پیکربندی شده ذخیره بشه. همچنین laravel-backup میتونه بک آپ های قبلی تون رو پاک کنه, میزان سلامتی فایل های بک آپ رو بررسی کنه و یک نمایش از تمام بک آپ ها به شما بده.

از ورژن های قدیمی PHP/Laravel استفاده می کنید ؟

اگر از ورژن قبل php 7 یا لاراول 5٫3 استفاده میکنید با استفاده از دستور زیر ورژن 3 این پکیج رو نصب کنید :

composer require "spatie/laravel-backup:^3.0.0"

و از داکیومنت ورژن 3 استفاده کنید.

نصب و راه اندازی

برای نصب پکیج با استفاده از کامپوزر از دستور زیر استفاده کنید.

composer require spatie/laravel-backup

همچنین در فایل config/app.php کد زیر رو اضافه کنید

// config/app.php

'providers' => [

    // ...

    Spatie\Backup\BackupServiceProvider::class,

];

برای منتشر کردن فایل پیکربندی در config/laravel-backup.php دستور زیر رو وارد کنید :

php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

زمان بندی

بعد از گذروندن مراحل نصب شما میتونید با استفاده از دستورات زیر از پکیج استفاده کنید :

backup:run, backup:clean, backup:list and backup:monitor

اما اگر هربار نمیخواید بصورت دستی دستور backup:run رو وارد کنید باید از Scheduling استفاده کنید. برای اینکار در فایل app/Console/Kernel.php کدهای زیر رو وارد کنید تا بصورت خودکار در زمان مشخص شده بک آپ گیری انجام بشه :

// 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');

}

نکته : برای انجام زمان بندی لازمه قابلیت cron job رو در سیستم عامل موردنظر فعال کنید. (در مورد فعال سازی و کار کردن با Laravel Schedule یک مقاله جدا لازم هست)

دستورات بک آپ گیری

همینطور که گفتیم برای بگ آپ گیری از دستور زیر استفاده میشه

php artisan backup:run

برای بک آپ گیری از یک دیسک خاص

php artisan backup:run --only-to-disk=name-of-your-disk

برای اینکه فقط از دیتابیس بک آپ بگیرید

php artisan backup:run --only-db

برای اینکه فقط از فایل ها بک آپ بگیرید

php artisan backup:run --only-files

حذف بک آپ ها

همینطور که گفتیم برای حذف بک آپ ها از دستور زیر استفاده میشه 

php artisan backup:clean

برای اینکه مشخص کنید چه بک آپ هایی رو میخواید حذف کنید فایل پیکربندی رو تغییر بدین :

فایل config/laravel-backup.php

    '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

         * deleted the newest backup.

         */

        'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,



        'defaultStrategy' => [



            /*

             * The number of days that all backups must be kept.

             */

            'keepAllBackupsForDays' => 7,



            /*

             * The number of days that all daily backups must be kept.

             */

            'keepDailyBackupsForDays' => 16,



            /*

             * The number of weeks of which one weekly backup must be kept.

             */

            'keepWeeklyBackupsForWeeks' => 8,



            /*

             * The number of months of which one monthly backup must be kept.

             */

            'keepMonthlyBackupsForMonths' => 4,



            /*

             * The number of years of 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,

        ],

    ],
این مطلب را با دیگران به اشتراک بگذارید :

مقالات پیشنهادی

بک آپ گیری از لاراول در dropbox

اگر دنبال یک راه ساده و رایگان برای گرفتن بک آپ از اپلیکیشن تون در dropbox می گردید, این آموزش به شما کمک می کنه تا به هدفتون برسید.

آپلود چندتایی فایلها بصورت Ajax در لاراول 5

آپلود فایل‌ یکی از مهم‌ترین عملیات ها در محیط وب هست. امروزه سایز فایل‌ها برای آپلود بسیار بزرگ هستند و نیاز به فرآیندی داریم که در پنهان عملیات آپلود...

به پروژه های لاراول خود، تاییدیه ایمیل اضافه کنید

اگر می خواهید اعتبار سنجی بااستفاده از ایمیل را در پروژه های لاراول خود استفاده کنید، مارسل پویکوت یک پکیج جدید به نام laravel-confirm-email ساخته است...

استفاده از CDN در پروژه های لاراولی

همینطور که میدونید امروزه برای افزایش سرعت بارگذاری صفحات وبسایت و همچنین بهبود تجربه کاربری از CDN ها استفاده میشه. در این مقاله می خواهیم به بررسی ا...