مجید
4 سال پیش توسط مجید مطرح شد
6 پاسخ

ارسال فایل بکاپ به ایمیل در لارول به صورت خودکار

سلام من با استفاده از اجرا پکیج laravel-backup از طریق کرون جاب از دیتابیسم بکاپ میگیرم
از طریق اجرای یک route فایل بکاپ به ایمیلم ارسال میشه که من این route رو از طریق فراخوانی از طریق کرون جاب اجرا میکنم در 24 ساعت
چجوری میتونم کرون جاب ها رو اولویت بندی کنم که بعد از اجرای کرون جاب run:backup کرون جاب مربوط به ارسال فایل به ایمیل اجرا بشه
میخواستم از طریق schedule این کار رو انجام بدم که بتونم بین تایم اجراشون فاصله بندازم ولی مجبور بودم طی شبانه روز کرون جاب schedule:run رو مدام اجرا کنم که باعث بار زیاد روی سرور میشه
کسی میتونه راهنمایی کنه


ثبت پرسش جدید
مجید
تخصص : برنامه نویس
@majeeddehghan 4 سال پیش مطرح شد
0

کسی نمیتونه راهنمایی کنه ؟


Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش مطرح شد
0

سلام دوست عزیز
@majeeddehghan

طبق مستندات spatie/laravel-backup یک سری event هایی تعریف شده که به شما این امکان تا بعد از بکاب گیری لاگ ذخیره بشه یا ایمیل ارسال بشه یا . .... که لینکشو براتون میزارم

این لینک

در ضمن باید بگم دستور schedule:run اگر کرون های خود را به درستی زمان بندی کرده باشید بار اضافی بر روی سرور شما نخواهد داشت و این تصور نادرستی از این دستور می باشد.

بهتره برای استفاده از یک پکیج امکاناتی که اون پکیج به ما میده بریم جلو تا خودمون بیام ی طور دیگه مثلا روتی تعریف کنیم که مثلا بگیم در ساعت 10:30 شروع به بک گیری کنه و در ساعت 12 یک کرون ایمیل برامون ارسال کنه

نکته اینجاست اگه فایل بک آپ شما گرفته نشد یا خطایی داد یا ...

هندل کردن همه این موارد زمان گیر می باشد تا خودمون این کار رو انجام بدیم.

در صورتی که میتونیم با ایونت های پیش ورزش این موارد رو به راحتی هندل کنیم.


مجید
تخصص : برنامه نویس
@majeeddehghan 4 سال پیش مطرح شد
0

@golshahimohammadreza event هایی که میفرمایید فایل بکاپ رو ارسال نمیکنن و فقط موفقیت بکاپ رو ایمیل میکنن
من اگر بخوام مثلا ساعت 22 بکاپ بگیره و 23 بکاپ ارسال کنه برای schedule:run کروم جابم رو باید چجوری زمانبندی کنم؟


Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش آپدیت شد
0

@majeeddehghan
دوست عزیز میتونی حتی یک event کاستون برای خودت ایحاد کنی (که توش فایلو ارسال کنی یا هر کار دیگه ) :

لینک زیر :

لینک ساخت کاستون سندر برای لاراول بک آپ

برای ران کردن schedule میتونی هر جور بخوای زمان بندی کنی :

این لینک


مجید
تخصص : برنامه نویس
@majeeddehghan 4 سال پیش مطرح شد
0

@golshahimohammadreza

'notifications' => [
            \Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail','app\Http\Controllers\Email\EmailController@send_backup'],

من میخوام بعد از BackupWasSuccessful تابع send_backup اجرا بشه
دستور بالا را قرار دادم اما نتیجه ای نگرفتم


Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش مطرح شد
0

دوست عزیز
@majeeddehghan

اینکه اومدید تابع کنترل رو به این شکل صدا زدید از منبعی استفاده کردید ؟

برای اینکار شما باید Spatie\Backup\Notifications\BaseSender مشاهده فرمایید و از این اینترفیس استفاده کنید و در صورت وجود مشکل پوشه لاگ را بررسی کنید و ارور را ارسال کنید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام