سراج



چندی پیش بعد از آغاز یک پروژه به دلیل یک اشتباه زحمات چند روزه من به یک باره با یک خط کد در ترمینال PhpStorm نابود شد!

با توسل به نرم افزار های ریکاوری و . نیز نتوانستم چند صد خط کد که اکنون فایل آن نابود شده بود را برگردانده تا بتوانم پروژه را از سر گیرم.

در نتیجه به فکر آغاز کدنویسی از ابتدا افتاده، و دست به کار شدم تا بیش از این زمان از دست نرود!

جستجویی هرچند اندک نیز مرا به نتیجه رساند که تقریبا راه حل آسان و به صرفه نیز برای اینکه بتوان از نرم افزار نسخه پشتیبان تهیه نمود تا در زمان وقوع حادثه از آن استفاده کرد نیز وجود ندارند!

برنامه نویسان نیز میدانند انتقال فایلِ نرم افزارهای تحت وب که حجم زیادی ندارد اما از تعداد فایل بسیار زیادی تشکیل شده اند چه مصیبتی دارد! چرا که فایل سیستم ویندوز و لینوکس در انتقال فایل تعداد بالا به شدت کند عمل میکند و عملا برای انتقال چند پروژه باید ساعتی یا حتی ساعاتی را منتظر کپی یا موو(Move) انها باشید!

راه حل ساده و به صرفه ای که به نظر بنده رسید استفاده از یک کرون جاب(Cron job) و کپی پروژه به فولدر یک سیستم کلود مانند دراپ باکس(DropBox) بود؛ به این شکل که با دستور کپی و استفاده از آرگومان -u عمل انتقال اطلاعات برای فایل هایی که تغییر نموده اند و نه همه آنها صورت میپذیرد. دستور زیر عمل انتقال اطلاعات را هر ۲۰ دقیقه انجام میدهد:

*/20 * * * * cp -Ru {Source folder} {Destination folder(Dropbox folder)}

Source Folder: می شود پوشه نرم افزار(سایت و .) یا نرم افزارهای شما

Destination Folder: می شود پوشه اختصاصی دراپ باکس که نرم افزارهای شما در آن قرار میگیرد تا در سرور آپلود شود.

دستور R نیز به صورت ریکرسیو(recursive) عمل می نمایند؛ یعنی تمام فایل های داخلی فولدرها را نیز کپی میکند و همانطور تا آخرین شاخه پیش میرود. آموزش این دستور را

اینجا مطالعه نمایید.

شاید این سوال پیش بیاید که خب زد و ما بجای پاک کردن فایل محتویات آن را اشتباهاً تغییر دادیم حالا چه کنیم؟!

اولا: که این کرون جاب میتواند هر ۱۰ یا حتی هر ۳۰ دقیقه اجرا شود که شما فرصت برگرداندن فایل را داشته باشید.

ثانیاً: سایتی مانند دراپ باکس قسمتی به نام ورژن کنترل دارد که حداقل ۳ نسخه قبلی آن فایل را حفظ میکند در نتیجه حتی با کپی یک فایل خراب بر روی نسخه قبل آن شما به ۳ نسخه قبل تر نیز همچنان دسترسی دارید.

از قابلیت های عالی دیگر این عمل همراه بودن کل پروژه در حساب دراپ باکس شماست که هر وقت و هر کجا لازم باشد میتوانید سرور خود را راه اندازی کنید و در دسترس شماست!

امید وارم به عنوان یک راه حل، هرچند شاید ناقص، مورد استفاده قرار گیرد.

دلیل استفاده از تیتر انگلیسی هم برای اهل فن مشخصه!  خنده هر چند شاید تاثیر اندک داشته باشه !

در انتها از همه برنامه نویسان دعوت میکنم روزانه چند دقیقه به دیوار سفید خیره شوند!


آخرین ارسال ها

آخرین جستجو ها