gitea-backup/gitea_backup.sh
heydar 0f5d8c295c افزودن قابلیت ارسال پیامک در صورت موفق یا ناموفق بودن بکاپ + به‌روزرسانی README
feat: add SMS notification via IPPanel and update README

- Integrated SMS notifications for backup success/failure
- Uses IPPanel API for message delivery
- Updated README with setup guide, cronjob, and contact info
2025-05-31 00:32:02 +03:30

48 lines
1.8 KiB
Bash

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H-%M") #به دست اوردن تاریخ و زمان حال
BACKUP_NAME="gitea_backup_$DATE.tar.gz" #نام فایل بکاپ
BACKUP_TMP="/tmp/$BACKUP_NAME" #محل ذخیره سازی موقت فایل بکاپ
echo "[INFO] Creating backup from Docker container..."
docker exec gitea tar -czf - /data > "$BACKUP_TMP"
if [ $? -ne 0 ]; then
echo "[ERROR] Failed to create backup!"
exit 1
fi
#بخش کافیگ ftp
FTP_HOST="ftp.example.com" #آدرس سرور ftp
FTP_USER="your_ftp_user" #نام کاربری اکانت ftp
FTP_PASS="your_ftp_pass" #رمز اکانت ftp
FTP_DIR="/backups/gitea" #آدرس محل ذخیره سازی
echo "[INFO] Uploading backup to FTP server..."
curl -T "$BACKUP_TMP" --user "$FTP_USER:$FTP_PASS" "ftp://$FTP_HOST$FTP_DIR/$BACKUP_NAME"
if [ $? -ne 0 ]; then
echo "[ERROR] Failed to upload to FTP!"
exit 2
fi
echo "[INFO] Cleaning up..."
rm -f "$BACKUP_TMP"
echo "[SUCCESS] Backup completed successfully at $DATE."
# بررسی وضعیت آخرین دستور (آپلود بکاپ)
if [ $? -eq 0 ]; then
message="✅ بکاپ Gitea با موفقیت در تاریخ ${backup_time} انجام شد."
else
message="❌ بکاپ Gitea با خطا مواجه شد در تاریخ ${backup_time} . لطفاً بررسی شود!"
fi
# ارسال پیامک از طریق API
echo "[INFO] Sending SMS notification..."
curl --silent --location 'https://api2.ippanel.com/api/v1/sms/send/webservice/single' \
--header 'accept: application/json' \
--header 'apikey: OWYwOWE0MGQtMDdjNS00MjVlLWE2ZWMtYjRiZWZlMjhhOGNkYzY1MDFiMGFkNmUxYjEyYTMyMjY5NDQzMzU1YWYzN2M=' \
--header 'Content-Type: application/json' \
--data "{
\"recipient\": [\"+989303063007\"],
\"sender\": \"+983000505\",
\"message\": \"${message}\"
}"