Skip to content

Feat: پیاده‌سازی سرویس بکاپ داخلی با پایتون - #13

Merged
Opselon merged 1 commit into
masterfrom
feat-fix-build-and-add-arch-docs
Nov 3, 2025
Merged

Feat: پیاده‌سازی سرویس بکاپ داخلی با پایتون#13
Opselon merged 1 commit into
masterfrom
feat-fix-build-and-add-arch-docs

Conversation

@Opselon

@Opselon Opselon commented Nov 3, 2025

Copy link
Copy Markdown
Owner

این کامیت یک سرویس بکاپ داخلی جامع و کانتینری را بر اساس یک پرامپت دقیق مهندسی پیاده‌سازی می‌کند.

تغییرات کلیدی:

  1. ساختار پروژه:

    • یک پوشه جدید /ops/backup با ساختار استاندارد شامل src, tests, Dockerfile, و مستندات ایجاد شد.
  2. هسته سرویس (پایتون):

    • یک اسکریپت backup_service.py ایجاد شد که قادر به بکاپ‌گیری از PostgreSQL (pg_dump), Redis (BGSAVE), و مسیرهای فایل مشخص‌شده است.
    • این سرویس از قفل مشورتی PostgreSQL برای جلوگیری از اجرای همزمان استفاده می‌کند.
    • منطق حذف بکاپ‌های قدیمی (retention) و ایجاد فایل manifest.json برای هر بکاپ پیاده‌سازی شده است.
  3. کانتینرسازی:

    • یک Dockerfile چندمرحله‌ای برای ساخت یک ایمیج سبک و بهینه ایجاد شد.
    • یک entrypoint.sh برای مدیریت زمان‌بندی با cron در داخل کانتینر پیاده‌سازی گردید.
    • یک فایل docker-compose.backup.yml برای تست و اجرای مستقل سرویس فراهم شده است.
  4. تست و بازیابی:

    • Unit testها با pytest برای توابع حیاتی نوشته شده‌اند.
    • یک اسکریپت restore.sh برای بازیابی آسان بکاپ‌های دیتابیس ایجاد شد.
  5. مستندسازی:

    • یک فایل README-backup.md جامع با تمام دستورالعمل‌های لازم برای پیکربندی، اجرا، تست و بازیابی سرویس ایجاد شد.

این سرویس یک قابلیت حیاتی برای حفاظت از داده‌های پلتفرم MasirYar فراهم می‌کند و به صورت مستقل و قابل اعتماد طراحی شده است.

این کامیت یک سرویس بکاپ داخلی جامع و کانتینری را بر اساس یک پرامپت دقیق مهندسی پیاده‌سازی می‌کند.

تغییرات کلیدی:
1.  **ساختار پروژه**:
    *   یک پوشه جدید `/ops/backup` با ساختار استاندارد شامل `src`, `tests`, `Dockerfile`, و مستندات ایجاد شد.

2.  **هسته سرویس (پایتون)**:
    *   یک اسکریپت `backup_service.py` ایجاد شد که قادر به بکاپ‌گیری از PostgreSQL (`pg_dump`), Redis (`BGSAVE`), و مسیرهای فایل مشخص‌شده است.
    *   این سرویس از قفل مشورتی PostgreSQL برای جلوگیری از اجرای همزمان استفاده می‌کند.
    *   منطق حذف بکاپ‌های قدیمی (retention) و ایجاد فایل `manifest.json` برای هر بکاپ پیاده‌سازی شده است.

3.  **کانتینرسازی**:
    *   یک `Dockerfile` چندمرحله‌ای برای ساخت یک ایمیج سبک و بهینه ایجاد شد.
    *   یک `entrypoint.sh` برای مدیریت زمان‌بندی با `cron` در داخل کانتینر پیاده‌سازی گردید.
    *   یک فایل `docker-compose.backup.yml` برای تست و اجرای مستقل سرویس فراهم شده است.

4.  **تست و بازیابی**:
    *   Unit testها با `pytest` برای توابع حیاتی نوشته شده‌اند.
    *   یک اسکریپت `restore.sh` برای بازیابی آسان بکاپ‌های دیتابیس ایجاد شد.

5.  **مستندسازی**:
    *   یک فایل `README-backup.md` جامع با تمام دستورالعمل‌های لازم برای پیکربندی، اجرا، تست و بازیابی سرویس ایجاد شد.

این سرویس یک قابلیت حیاتی برای حفاظت از داده‌های پلتفرم `MasirYar` فراهم می‌کند و به صورت مستقل و قابل اعتماد طراحی شده است.
@Opselon
Opselon merged commit b634db1 into master Nov 3, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant