رفتن به نوشته‌ها

چگونه هر روز به طور خودکار از پروژه جنگو بک آپ بگیریم؟

سلام دوستان به وبلاگ من خوش اومدید. من ادریس رنجبر هستم، توسعه‌دهنده وب بک‌اند، علاقه مند به برنامه نویسی و لینوکس، گردشگری و آموزش مهارت. در این مقاله یاد میگیریم چگونه به صورت خودکار از پروژه جنگو هر روز بک آپ بگیریم! پس من رو دنبال کنید🙂

قبل از هرچیز، سناریوی واقعی ای که برای خودم توی یکی از پروژه هایی که کار میکردم پیش اومد رو باهاتون به اشتراک میزارم تا دلیل نوشتن این مقاله و اسکریپت رو بهتر درک کنید.

چند وقت پیش من روی یک پروژه API rest-full با استفاده از Django rest framework (DRF) کار میکردم. از اونجایی که نیاز به بکاپ روزانه روی سرور داشتیم، تصمیم گرفتم یک اسکریپت bash بنویسم که هر روز توسط crontab توی سرور (لینوکسی) اجرا بشه، کار بک آپ گیری رو انجام بده و فایل بک آپ رو به سرور بک آپ انتقال بده و لاگ کار ها رو ذخیره کنه که من بتونم مطمئن بشم همه چیز اوکیه.

البته ما برای این پروژه دو سرور گرفتیم، یکی برای production و یکی برای یک آپ ( هم فایل بک آپ و هم در صورتی که سرور داون شد بتونیم ظرف کمتر از 24 ساعت راه اندازی رو مجددا انجام ببدیم).

بنابراین در صورتی که شما دو تا سرور ندارید، می توانید به راحتی کد من را ویرایش کنید و فایل پشتیبان را در جای دیگری مانند GoogleDrive، OneDrive یا DropBox آپلود کنید.

حالا که میدونید قراره چه کاری انجام بدیم؛ بزارید یه سری از دستورات پایه ای که توی اسکریپت استفاده کردم رو بهتون توضیح بدم که اگر خواستید تغییری ایجاد کنید، بتونید.

اسکریپت یک آپ گیری از پروژه جنگو

اگر میخواید با جزییات بیشتر و به صورت مرحله به مرحله با این اسکریپت و نحوه ی کارش آشنا بشید؛ من براتون یه ویدیو ضبط کردم که میتونید ببینید.

خب حالا که اسکریپتمون رو نوشتیم، تنها با اجرای اسکریپت به راحتی می تونیم از پروژه جنگو نسخه پشتیبان تهیه کنیم. اما از اونجایی که اجرای این فایل به صورت روزانه توی سرور کاری بیخوده که میشه بهینه اش کرد و اجراش رو به خود سیستم عامل محول کرد، یه قدم جلو تر میریم و از crontab میخوایم این کار رو برامون انجام بده.

توی این بخش از کار ما به ابزاری به نام CronTab نیاز داریم که به صورت پیش فرض روی سیستم عامل های لینوکسی نصب هست. تنها کاری که نیازه ما انجام بدیم اینه که یه Task جدید به این سیستم معرفی کنیم و ازش بخوایم هر روز راس ساعت فلان اجراش کنه.

اگر نحوه ی کار با Crontab رو بلد نیستید. نگران نباشید. من برای این قسمت هم یه ویدیوی مجزا ضبط کردم که میتونید نگاه کنید.

امیدوارم این مقاله براتون مفید باشه. لطفا در کانال یوتیوب من سابسکرایب کنید، حمایت کنید و نظرات خودتون رو در مورد این ویدیو ها برام بنویسید.

منتشر شده در اسکریپتبرنامه نویسیپایتونفناوری اطلاعاتلینوکس

اولین باشید که نظر می دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *