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
48 lines
1.8 KiB
Bash
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}\"
|
|
}" |