بک آپ گرفتن از پروژه و دیتابیس یکی از مسائل مهمیه که در هر پروژه باید در نظر گرفته بشه.
ما در این مقاله نحوه ی نصب و کار کردن با پکیج محبوب 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,
],
],
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید