تهیه پشتیبان از پرونده‌های ویرایش یافته با php

* اشاره: مطلب زیر را برای مجله پریانا نوشته‌ام و در این آدرس نیز قابل مشاهده است:

 

این مطلب، توضیحی درباره یک برنامه ساده است که به زبان php نوشته شده و برای آن دسته از خوانندگان کارآمد است که به صورت مداوم در حال ویرایش و گسترش (develop) نوشته‌ها و برنامه‌های خود هستند. یک راه ساده برای گرفتن یک نسخه پشتیبان از کارها و فعالیت‌هایی که به صورت پرونده (file) ذخیره می‌شوند، گرفتن یک «کپی کامل» از آن در محلی دیگر است. اما این کار موجب صرف زمان و هدر رفتن فضای زیاد برای ذخیره اطلاعات شما می‌گردد. برای این کار نرم افزارهای کاربردی زیادی نوشته شده که غالبا مجانی نیستند و به صورت کلی از فایل‌های شما پشتیبان تهیه می‌کنند. این مطلب به معرفی یک برنامه کوچک و رایگان می‌پردازد که می‌تواند بر روی server یا سیستم شخصی شما اجرا شود و فایل‌هایی با پسوند قابل تعریف را که در یک بازه زمانی مشخص (مثلا ماه گذشته) ویرایش پیدا کرده‌اند، برای شما به صورت یک فایل فشرده ذخیره کند. این برنامه به زبان php نوشته شده لذا بر روی اکثر سرورها بدون مشکل کار می‌کند. در صورتی که شما قصد اجرای این برنامه بر روی سیستم شخصی را داشته باشید، لازم است موتور اجرای php را نیز روی سیستم خود نصب کنید. easyphp یک نمونه شناخته‌شده و پرطرفدار در این میان است که نسبت به رقبای خود ظاهر ساده‌تری دارد. برای استفاده از این برنامه کافی است که سورس آن را از این پیوند دریافت و ذخیره کنید. [مشاهده سورس برنامه پشتیبان] پس از قرار دادن فایل backup.php در محل دلخواه و اجرای آن، صفحه زیر را مشاهده می‌کنید:

مشاهده تصویر

در کادر ورودی اول، نوع ساختار پرونده‌هایی که مایل به تهیه پشتیبان از آنها هستید را وارد کنید. پسوند این پرونده‌ها بسته به نیاز شما متفاوت خواهد بود. در کادر دوم مسیری را که برنامه در آن به جستجوی پرونده‌های مدنظر شما می‌پردازد، مشخص کنید. در نهایت هم بازه زمانی مدنظرتان را وارد کنید. مقدار پیش فرض، هفته گذشته است. در پایان دکمه تایید را بفشارید. با این کار برنامه شروع به کاوش در مسیر تعیین شده می‌کند تا پرونده‌هایی که از نظر ساختار و زمان ویرایش، بر خواسته منطبق است را پیدا کرده و لیست کند. نهایتا یک فایل فشرده با پسوند zip به شما تحویل داده می‌شود که حاوی پرونده‌های مدنظر شماست. در پایان ذکر این نکته لازم است که این برنامه حسب نیازی که به عنوان یک برنامه نویس داشتم، نوشته شده و برایم بسیار موثر بوده است. طبعا داشتن قابلیت زمان‌بندی و آپلود به ftp دو ویژگی است که می‌تواند در آینده به آن اضافه شود. (البته قابلیت «زمان‌بندی» را می‌توان با حذف کد رابط کاربری و اضافه کردن یک cron job در سرور به دست آورد)
نگارش: 16 سال پیش