بکاپگیری از اطلاعات مدرسه: چه چیزی، هر چند وقت، کجا
اطلاعات دانشآموزان و غیبتها اگر از بین بروند، بازسازیشان تقریباً غیرممکن است. بکاپگیری کار پیچیدهای نیست، ولی چند نکته دارد که معمولاً بعد از اولین مشکل یادمان میافتد.
چه چیزی را بکاپ بگیریم؟
ClassBan اطلاعاتش را در یک فایل دیتابیس SQLite نگه میدارد. نکتهی مهم: SQLite در حالت WAL (که ClassBan از آن استفاده میکند) علاوه بر فایل اصلی، دو فایل کنارش دارد (با پسوند -wal و -shm). اگر فقط فایل اصلی را کپی کنید، ممکن است آخرین تغییرات را نداشته باشید. دکمهی بکاپ ClassBan به همین دلیل هر سه فایل را در یک zip میگذارد و نام فایل تاریخ روز را دارد.
علاوه بر دیتابیس، یک خروجی اکسل/CSV از دانشآموزان و غیبتها هم میتوان گرفت. این بکاپ جایگزین دیتابیس نیست، ولی اگر برنامه کلاً از کار افتاد، با هر نرمافزار صفحهگستردهای قابل خواندن است.
هر چند وقت؟
قاعدهی ساده: هر مقدار دادهای که حاضرید از دست بدهید، همانقدر فاصلهی بکاپ. اگر غیبتها را هر روز ثبت میکنید و حاضر نیستید حتی یک روز را از دست بدهید، بکاپ روزانه لازم است. برای مدرسهی کوچک، یک بکاپ در پایان هر روز کاری و یکی قبل از هر کار پرخطر (مثل ارتقای پایه در پایان سال یا حذف انبوه) معقول است.
کجا نگه داریم؟
بکاپی که روی همان کامپیوتر است، فقط در برابر اشتباه نرمافزاری محافظ است، نه خرابی دیسک یا دزدی. قاعدهی شناختهشدهی «۳-۲-۱» میگوید: سه نسخه، روی دو نوع رسانهی مختلف، و یکی بیرون از محل. در مدرسه یعنی: نسخهی اصلی روی سیستم، یک نسخه روی فلش یا هارد اکسترنال، و یک نسخه جای دیگری (مثلاً کامپیوتر مدیر در خانه).
اگر فایل بکاپ شامل اطلاعات دانشآموزان است، مثل خود دیتابیس باید محافظت شود؛ فلش گمشده یعنی نشت اطلاعات.
آنچه ClassBan فعلاً ندارد
صادقانه بگویم: ClassBan دکمهی دانلود بکاپ دارد و دکمهی «پاککردن کامل دادهها» هم دارد (که کاربر مالک را دوباره میسازد)، ولی دکمهی بازیابی بکاپ ندارد. بازگرداندن بکاپ فعلاً دستی است: برنامه را ببندید، فایلهای دیتابیس را جایگزین کنید و دوباره باز کنید. این یکی از چیزهایی است که باید اضافه شود.
بکاپی که تست نشده، بکاپ نیست
سالی یکی دو بار، بکاپ را روی یک کامپیوتر دیگر باز کنید و ببینید دانشآموزان و غیبتها واقعاً آنجا هستند. بدترین زمان برای فهمیدن اینکه بکاپ خراب است، روزی است که به آن نیاز دارید.
چکلیست
- هر سه فایل SQLite (یا zip کامل) بکاپ گرفته شود.
- تناوب بکاپ با میزان دادهی قابلازدستدادن هماهنگ باشد.
- حداقل یک نسخه بیرون از سیستم اصلی باشد.
- فایلهای بکاپ از دسترس افراد غیرمجاز دور بمانند.
- بازیابی دستکم سالی یک بار تست شود.