gitea-backup/README.md
2025-05-31 00:40:37 +03:30

3.0 KiB
Raw Blame History

# Gitea Backup Script (Docker + FTP + SMS Notification)

پروژه‌ای برای بکاپ‌گیری خودکار از Gitea نصب‌شده با Docker، انتقال فایل به سرور دوم از طریق FTP و ارسال پیامک وضعیت بکاپ با استفاده از پنل SMS IPPanel.

---

## 📦 نیازمندی‌ها

- سیستم‌عامل لینوکسی (Debian,Ubuntu ترجیحاً)
- نصب `docker` و `docker-compose` (برای اجرای Gitea)
- اکانت FTP برای انتقال بکاپ
- پنل IPPanel برای ارسال پیامک (اختیاری ولی توصیه‌شده)
- curl، tar، gzip

---

## ⚙️ تنظیمات اولیه

۱. فایل `gitea_backup.sh` را ویرایش کرده و مقادیر زیر را به نیاز خود تنظیم کنید:

```bash
FTP_HOST="ftp.example.com"
FTP_USER="ftpuser"
FTP_PASS="ftppassword"
FTP_DIR="/backups/gitea"

PHONE="+98912xxxxxxx"             # شماره مقصد پیامک
API_KEY="your_ippanel_api_key"    # کلید API پیامک
SENDER="+983000505"               # خط ارسال پیامک (از IPPanel)

🚀 اجرای دستی

برای اجرای دستی اسکریپت:

chmod +x gitea_backup.sh
./gitea_backup.sh

اسکریپت موارد زیر را انجام می‌دهد:

  • ایجاد فایل بکاپ از /data کانتینر Gitea
  • انتقال فایل به FTP
  • ارسال پیامک نتیجه موفق یا ناموفق بودن

اجرای خودکار با Cron

برای تنظیم بکاپ روزانه، ابتدا ابزار cron را نصب کن:

apt install cron -y

سپس کرون‌جاب را اضافه کن:

crontab -e

و این خط را اضافه کن (مثلاً ساعت ۲ بامداد هر شب):

0 2 * * * /root/Git/gitea-backup/gitea_backup.sh >> /var/log/gitea_backup.log 2>&1

📲 ارسال پیامک با IPPanel

در صورت موفق یا ناموفق بودن عملیات، اسکریپت یک پیامک با محتوای وضعیت ارسال می‌کند.

مثال محتوای پیامک موفق:

✅ بکاپ Gitea با موفقیت در تاریخ 2025-05-30 02:00 انجام شد.

مثال محتوای پیامک ناموفق:

❌ بکاپ Gitea با خطا مواجه شد در تاریخ 2025-05-30 02:00 . لطفاً بررسی شود!

برای استفاده از IPPanel نیاز به API Key معتبر دارید.


📞 دریافت پنل پیامکی IPPanel

اگر پنل پیامکی نیاز دارید، تماس بگیرید:

  • 📱 09303063007 (تأمین پنل رسمی IPPanel با دسترسی به خطوط خدماتی)

👨‍💻 توسعه‌دهنده

با همکاری GPT و تیم حفظ 🔗 https://git.hefzteam.ir


---

بگو اگه بخوای این رو مستقیم توی پروژه‌ت کامیت کنیم، یا بخش دیگه‌ای هم اضافه کنیم مثل restore یا encryption.