بکاپ خودکار دیتابیس با داکر کامپوز
خلاصهٔ کاملتر
دنیل پتریکا تو این مقاله تعریف میکنه که ماجرا از دسامبر ۲۰۲۳ شروع شد؛ اینستنس ماستودونش رو کامل از دست داد و سه ماه طول کشید تا برش گردونه. بعد از اون تصمیم گرفت برای همین سناریوهای بدترینحالت یه راهکار بکاپ درستوحسابی بچینه، و حالا تو ۲۰۲۶ اومده همون راهنمای قدیمی رو بهروز کنه.
خواستههاش کم نبود: اتصال همزمان به چند دیتابیس، ریستور یککلیکی، یه رابط وب تمیز برای مدیریت تسکها و صددرصد داکری بودن. به گفتهٔ نویسنده پیدا کردن یه ابزار متنباز که همهٔ اینها رو یکجا داشته باشه تقریباً غیرممکن بود و سختترین بخش هم همون رابط وب بود. برای همین لیست رو به مهمترینها کوتاه کرد و رفت سراغ پروژهٔ متنباز docker-db-backup از Dave Conroy.
این پروژه آوریل ۲۰۲۶ اسم و خونهش عوض شد و از tiredofit/db-backup به nfrastack/container-db-backup منتقل شد. مهمتر از اسم، یه بازنویسی اساسی توش انجام شده: قبلاً برای هر دیتابیس یه کانتینر جدا لازم بود، ولی حالا با متغیرهای محیطی پیشونددار مثل DB01_ و DB02_ میتونی چند جاب رو تو یه سرویس تعریف کنی. MySQL، PostgreSQL، MongoDB و Redis پشتیبانی میشن و خروجی هم میتونه روی استوریج محلی، AWS S3 یا Azure بشینه.
راهاندازیش به گفتهٔ نویسنده خیلی سرراسته: کافیه سرویس رو تو همون docker-compose.yml اضافه کنی که دیتابیس توش نشسته. خودش فایلها رو تو یه پوشهٔ محلی میریزه و یه ایجنت روی سرور خونگی Unraid اونها رو برمیداره و آفسایت روی OneDrive کپی میکنه؛ البته تازگی بهجای این مسیر، یه فضای ابری رو مستقیم بهعنوان پوشهٔ محلی روی سرور مانت کرده و بکاپها رو همونجا میذاره.
هشدار مهمش هم اینه که بکاپها رو درازمدت روی خود سرور نگه ندارید؛ دیسک پر میشه و بدون مانیتورینگ میتونه کل سرویسها رو بخوابونه. پیشنهاد خودش استفاده از همون اتصال بومی S3 هست، یا مانت کردن یه فایلسیستم بیرونی و اشاره دادن مسیر بکاپ به اونجا.
نکات کلیدی:
- پروژهٔ tiredofit/db-backup حالا با اسم nfrastack/container-db-backup ادامه پیدا کرده
- با پیشوندهای DB01_ و DB02_ چند دیتابیس تو یه سرویس بکاپ میشن
- پشتیبانی همزمان از MySQL، PostgreSQL، MongoDB و Redis
- خروجی میتونه روی دیسک محلی، AWS S3 یا Azure ذخیره بشه
- بکاپ رو درازمدت روی همون سرور نگه ندارید؛ ریسک پر شدن دیسک جدیه




